DevOps/Docker, Jenkins, Ansible, Terraform 10

Jenkins- DevOps CI/CD

1. React - Jenkins- Jenkins 서버 , 배포 서버 구분 https://roomq.tistory.com/m/29 [CI&CD] EC2, Docker, Jenkins, React 프로젝트 CI/CD 구축현재 진행 중인 구름톤 풀스택 과정에서 팀 프로젝트의 CI/CD를 구축해 보았습니다. CI/CD 구축은 처음 해봐서 구글링을 통해 다양한 구축법을 조사한 결과 오성원님의 블로그를 중심으로 추가/변roomq.tistory.com 2. Jenkins Pipeline (DSL)pipeline { agent any tools { maven 'maven3.8.2' } stages { stage('github clone') { step..

Docker, UFW, IPTABLES 방화벽

1. 데스크탑(프리도스)에 우분투를 설치하여 개인서버로 사용하면서 발생한 문제점 1) 공유기에서 포트포워딩을 해 외부ip -> 데스크탑 ip로 바라보게한 후 docker에서도 마찬가지로 포트포워딩해 특정 이미지 바라보게 했으나, 로컬에서는 docker에서 띄운 nginx라던지, was에 접근 가능하나 외부ip:특정포트를 타고 들어오면 도커에 연결이 안되었음. * 도커 네트워크 쪽 추가 공부 https://velog.io/@cloudjun/UFW-DOCKER-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%A9%ED%99%94%EB%B2%BD%EC%97%90-%EC%A0%81%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EB%AC%B8%EC%A0%9C ..

Apache Tomcat

1. Apache Tomcat 폴더구조 2. webapps https://hamdi.tistory.com/23 [자바] Tomcat 구조 및 server.xml과 context.xml의 차이 * 톰캣 기본 폴더구조 * Tomcat.../context.xml, server.xml 구조 * context.xml에 대해 1) Context란 - Context 설정은 톰캣에서 구동되는 하나의 웹 어플리케이션 자체의 설정을 의미한다. 주요 설정으로 ContextPath, hamdi.tistory.com 3. server.xml server.xml 은 톰캣이 실행시 필요한 정보를 정의한 파일이다. 포트 정보, DB 접속정보, 웹 리소스(ex. jsp, image 파일) 참조경로, 이벤트 리스너(event liste..

Terraform 테라폼, 여러 클라우드의 이기종 환경에서 프로비저닝 위함.

1. 테라폼이란? 테라폼은 오픈소스 IaC소프트웨어로 해시코프HashiCorp에서 출시했다. 해시코프 구성 관리 언어라고 불리는 고수준 구성관리 언어로 데이터 센터 인프라를 정의한다. 2. 테라폼 시작 https://btcd.tistory.com/20 테라폼(Terraform)이란? - 개념, 장점, 관리툴 ※ 목차 ▶ IAC 가상화 기술의 발전 Iac 란 Iac 종류 ▶ Terraform Terraform 개념 Terraform 장점 Terraform 구성 사용관리 툴 들어가기전에.. IT산업에 종사하면서 도구의 사용법을 익히는 것도 중요하지만, 그 btcd.tistory.com

Ansible-Playbook

Ansible이 작업장의 도구면 Ansible Playbook은 작업 메뉴얼이고 Inventory는 재료이다. 1. Ansible 구성요소 1. Inventory : 관리할 대상의 서버 리스트, 자동화 대상(Managed Node)목록을 작성하는 곳 2. Modules : host에 action을 수행하는 스크립트, 자동화 기능 내장 패키지로 하나의 완전한 단위 기능 제공 3. Playbook : 앤서블의 구성, 배포 및 오케스트레이션이 포함된 파일로 OS 구성에서 애플리케이션 배포와 모니터링까지 4. 시스템의 상태를 순차적으로 정의할 수 있다. 5. Plug-in: 확장 기능(emai, logging) 제공 6. Custom modules : 사용자가 작성한 모듈 2. Playbook 예시 // Pla..

CloudFormation (클라우드 포메이션)으로 인프라 관리하기

IaC 의 두 종류 : 1. Provisioning Tool (프로비저닝 도구) 2. SCM Tool( 구성관리도구) 1. Provisioning Tool -> Terraform, CloudFormation 모든 가상 리소스(가상 서버, 로드 밸런서, 스토리지, 네트워크 계층 등)를 코드로 관리한다. 2. 시스템 구성에 초점을 두는 구성관리(Configuration System) - Ansible 운영체제 구성부터 패키지 설치 및 애플리케이션 배포까지 자동화 3. 클라우드 포메이션 https://btcd.tistory.com/123 참고 : Terraform & Ansible외의 도구 개념 및 관계 - 2 안녕하세요! 하씨가문의 영광입니다. 이전시간에는 Puppet & Chef를 다뤄봤는데요! 이번 시간..

Jenkins, Packer, Ansible의 역할

1. 프로비저닝이란? 사용자의 요구에 맞게 서버를 설정해 두었다가 필요시 서버를 즉시 사용할 수 있는 상태로 미리 준비해 두는 것. ex) ec2 인스턴스에 JDK를 설치해 두거나 MySQL을 설치하고 DB를 생성해두는 작업 등 2. Jenkins, Packer, Ansible Jenkins에서 AMI 빌드 JOB을 실행하는 과정 1) Jenkins 서버에서 GIT에 코드레벨로 관리되는 Packer와 Ansible 코드를 pull 받고 2) Jenkins 서버에서 Packer가 인스턴스를 셋업한다. 3) Ansible을 이용해 셋업된 인스턴스에 프로비저닝 작업을 진행하고 4) Packer가 프로비저닝 완료된 인스턴스를 복사해 AMI를 생성한다. 3. Ansible Ansible은 프로비저닝, 애플리케이션..

Docker와 Vmware, Virtualbox 차이점

1. 하이퍼 바이저란 ?(VMware, VirtualBox) 하이퍼바이저는 호스트 시스템에서 다수의 게스트 OS를 구동할 수 있는 소프트웨어이다. 많이 사용하는 VM 구조는 기존 OS 위에서 하이퍼 바이저를 사용하는 방식이다. 예를 들어 윈도우 PC에서 VMware 설치한 후 거기에서 ubuntu OS를 설치하는 구조. https://devlog-wjdrbs96.tistory.com/279 [Docker] Docker와 기존 가상화 기술의 차이 알아보기 Docker와 기존의 가상화 기술과의 차이를 통한 컨테이너 이해하기 가상화 기술 나오기 전 한대의 서버를 하나의 용도로만 사용 남는 서버 공간 그대로 방치 하나의 서버에 하나의 운영체제, 하나 devlog-wjdrbs96.tistory.com 2. 가상화..

Jenkins, Docker, SpringBoot, React or Vue

0. Docker-compose로 구성 version: '3' services: jenkins: container_name: jenkins image: jenkins/jenkins ports: - "8080:8080" volumes: - "$PWD/jenkins_home:/var/jenkins_home" networks: - net remote_host: container_name: remote-host image: remote-host build: context: centos7 networks: - net db_host: container_name: db image: mysql:5.7 environment: - "MYSQL_ROOT_PASSWORD=1234" volumes: - "$PWD/db_data..

CentOS에 Jenkins 설정

1. CentoOS에 Docker 설치하기 # Docker 저장소 설치 $ curl -fsSL https://get.docker.com/ | sh # Docker 서비스 시작 $ sudo systemctl start docker # Docker 서비스 작동 상태 확인 $ sudo systemctl status docker # Docker 서비스를 운영체제 부팅시 자동 시작하도록 설정 $ sudo systemctl enable docker # docker 명령어를 sudo 없이 사용하기 위해 계정을 docker 그룹에 소속 (계정 재접속 필요) $ sudo usermod -aG docker ec2-user # 설치된 docker 버전 확인 $ docker --version Docker version 19...