Jenkins

업무 상 Docker와 Nginx를 통해 Blue Green 무중단 배포를 구축하려고 한다. OS는 Centos 7.x 기준이고 Application은 Spring Boot 기준으로 정리하였다. 현재 서버는 NCP에 Server를 사용하고 있고 Container Registry에 이미지를 저장해 사용하고 있다. 1. Centos에 Nginx 설치 먼저 yum 업데이트한다. $ sudo yum update 업데이트가 다 되었으면 yum 저장소에는 nginx가 없기 때문에 외부 저장소를 추가해서 설치해야 한다. $ sudo vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basea..
· Spring
개요 기존에 Jenkins 자동화 배포를 할때 민감한 정보(db 정보 및 암호화 키 ...)가 기입되어 있는 설정파일(yml, properties ...) 파일은 gitignore를 적용하고 직접 Jenkins 서버에 접속해 넣어주고 빌드를 시켰다. 하지만 프로젝트가 많아졌을때 설정파일을 최신화 하게 되면 직접 프로젝트 루트에 설정파일을 직접 넣기 너무 귀찮고 빌드도 다시 시켜야 했다. Spring Cloud Config를 사용하게 되면 한 곳에서 모든 설정파일을 관리하고, 수정이 있더라도 다시 배포하지 않아도 되는 장점이 있다. 단점은 한마디로 보안이 굉장히 중요하다. 물론 보안은 어느곳에도 중요하지만 만약 Spring Cloud Config 암호화 대칭값이 노출되거나, 암호화 및 복호화 기능에 적용한..
· ETC
이전 글에 Jekins Pipeline을 생성해 도커 컨테이너 자동화 배포를 구축했다. 이번엔 파이프라인 각 스텝마다 Slack 알림을 받을 수 있도록 설정하려고 한다. 모두 알다시피 슬랙 알림 연동은 API가 매우 잘되어있어 설정하기가 너무 쉽다. 1. Slack에 Jenkins App 추가 https://워크스페이스.slack.com/apps로 접속해 Jenkins를 검색하고 Jenkins CI App을 슬랙에 추가해준다. 알림 받을 채널을 선택한다. 채널을 선택해 Jenkins CI 통합 앱 추가를 클릭하면 설명 지침 페이지로 이동하게 되는데, 여기서 나오는 설명은 모든 스텝이 끝난 후에 알림이 오는 설정이다. 모든 스텝이 끝난 후 알림이 오는 것을 원하면 이대로 따라 하기만 하면 된다. 예제는 파..
· ETC
이전 글에서는 Jenkins을 이용해 jar파일 자동화 배포를 해보았다. 이번에는 소스코드를 도커 이미지 화 후 서버에서 해당 이미지를 받아 구동시키는 파이프라인을 구축하려고 한다. Blue Ocean 플러그인을 사용해 빌드가 되는 상태를 시각화하고 파이프라인을 쉽게 만들어보겠다. 이전 글과 마찬가지로 Jenkins 서버는 Docker로 로컬에서 구동했고, Jenkins 서버 구축 방법은 이전 글을 참고 바란다. 배포할 서버는 Naver Cloud Platform Server를 사용했고, 컨테이너 저장소는 Naver Container Registry를 사용했으므로 AWS EC2나 ECR을 사용하는 경우 설정법이 조금 다를 수 있다. 대략 진행되는 단계를 그림으로 나타내면 아래와 같다. 구축 예제 1. J..
· ETC
보통 Blue/Green 자동화 배포 파이프라인을 구축할 때 Jenkins를 많이 이용한다. Aws에서 제공하는 Code Pipeline을 사용해 구축할 수 도 있지만 배포할 때마다 비용이 발생하므로, 자주 배포가 일어난다면 서버 비용만 나오는 Jenkins를 사용하는 것이 이득일 수 있다. 아래 예제는 Bitbucket Repository 안에 있는 소스를 배포해야 하므로 Bitbucket과 연동하는 법으로 정리하였고 젠킨스 서버는 Local에서 Docker 컨테이너를 띄어 진행했다. 간단히 그림으로 표현하자만 아래와 같다. 1. 젠킨스 이미지 다운로드 및 실행 아래 명령어로 젠킨스 도커 이미지를 다운로드해 컨테이너를 실행한다. docker run -itd --name jenkins -p 8090:80..
beekei
'Jenkins' 태그의 글 목록