본문 바로가기

DevOps

(4)
[DevOps 구축하기 4] Github Webhook 설정, DevOps 구축 완성 https://tomatohj.tistory.com/82 에서 이어집니다. 이전에 설명했듯, Jenkins는 Github로 부터 Repository에 변화가 있음을 알아채고, 빌드/배포 과정을 진행할 것이다. 그렇다면 Github은 어떻게 Jenkins에게 그 정보를 전달 할 수 있을까? 답은 바로 Github Webhook에 있다. Github Webhook을 이용하면 Repository에 발생하는 이벤트들을 특정 URI로 전달할 수 있다. Fork 해온 Repository로 가서, 우측 상단 Settings 메뉴를 클릭한다. 그리고 왼쪽 메뉴 중 Webhooks메뉴를 선택한 뒤, 우측 상단 Add webhook을 클릭한다. Webhook을 추가하기 위해서는 Repository의 변경사항을 전달할 UR..
[DevOps 구축하기 3] Blue/Green 웹 서버 + Nginx 리버스 프록시 설정 https://tomatohj.tistory.com/81 에서 이어집니다. 이제는 실제로 배포할 웹 서버 2대를 구성할 것이다. Jenkins를 이용해서 Blue/Green 형태의 무중단 배포를 구현할 것이기에, 동일한 환경의 컨테이너 2개를 생성한다. 'docker run -it --name [이름] ubuntu' 명령어로 이름만 다른 2개의 컨테이너를 생성한 뒤, 2개 컨테이너 모두 'apt update && apt install -y vim net-tools openjdk-17-jdk ssh psmisc'를 수행한다. 이 과정을 통해 웹 서버에서 필요한 모든 패키지를 다운로드 받게 된다. 2개 서버 모두 설치가 끝나면. 'service ssh start' 명령어를 실행시켜 ssh server를 동작..
[DevOps 구축하기 2] Jenkins와 Github 연결하기 https://tomatohj.tistory.com/80에서 이어집니다. 설치된 Jenkins의 좌측 상단 '새로운 Item' 버튼을 클릭한다. 이름은 자유롭게 설정하고 종류는 'Freestyle project'를 선택한 뒤 OK 버튼을 누른다. 소스 코드 관리쪽으로 이동하여 Git을 선택하면, 연결할 Repository URL과 Github 인증을 위한 정보를 추가해야함을 알 수 있다. Github으로 이동하여 이 정보들을 알아내보자 환경 구성에 이용할 웹 애플리케이션은 WebGoat라는 오픈소스 웹 애플리케이션이다. 아래 링크로 접근하면 Github에 올라가 있는 공식 Repository를 확인할 수 있다. https://github.com/WebGoat/WebGoat GitHub - WebGoat/..
[DevOps 구축하기 1] Jenkins 설치 및 초기 설정 아래 그림과 같이 간단한 DevOps 아키텍처를 Docker를 이용하여 로컬 환경에 구성할 것이다. 로컬 환경에 Docker를 이용하여 구축할 것이므로, Linux가 아닌 Windows나 Mac이라면 Docker Desktop을 필요로 한다. (Linux는 바로 Docker Engine을 설치하면 된다.) 가능하다면 모든 컨테이너는 Stop(종료) 상태로 진행하는 것을 추천한다. 예상치 못한 오류를 예방할 수 있는 가장 좋은 방법이기 때문이다. VirtualBox나 Vmware와 같은 가상머신으로는 동일한 환경을 구성할 수 없으니 반드시 Docker를 이용해야한다. 'docker run -it --name jenkins -p 8080:8080 ubuntu' 명령어로 Jenkins 실행을 위한 ubuntu..