Jenkins와 AWS ECR을 사용한 Docker 배포 [1] - AWS ECR Private Repository 생성 및 설정
Jenkins와 AWS ECR을 사용한 Docker 배포 [2] - Jenkins 서버에서 AWS ECR 로그인 하기
Jenkins와 AWS ECR을 사용한 Docker 배포 [3] - Jenkins 설정
Jenkins와 AWS ECR을 사용한 Docker 배포 [4] - 배포스크립트 작성
Jenkins 설정
1. Jenkins Item 생성 및 Git Connection 정보 등록
Jenkins Item을 생성하고 자신이 사용하는 Git Connection 정보를 등록한다
2. 환경변수 등록
deploy.sh
에 필요한 환경변수를 등록한다
APP_NAME
- Application 명PROFILE
- Application 현재 프로필BLUE_PORT
- BLUE/GREEN 배포를 위한 BLUE 포트GREEN_PORT
- BLUE/GREEN 배포를 위한 GREEN 포트EUREKA_SERVER1
- EUREKA 1번 서버EUREKA_SERVER2
- EUREKA 2번 서버DELAY_TIME
- 배포스크립트 구동시 BLUE/GREEN DOWN 지연시간
3. git Repository 정보 등록
git repository 정보를 등록한다
4. WebHook 설정
Git과 Jenkins WebHook 설정을 위해 체크 한다
5. Gradle 빌드 정보 등록과 Docker Push 정보 등록
Gradle 빌드를 위해 Gradle 버전을 선택하고 Task 를 작성한다
그리고 Docker Push를 위해 AWS ECR Repository URI를 등록 한다 뒷부분은 환경변수로 Application 이름과 Profile 을 받도록 하면 Item 작성이 용이 해진다
docker login은 앞에서 설정한대로 jenkins 서버에서 CronJob 으로 주기적으로 로그인 해주고 있으므로 신경쓰지 않아도 된다
6. 각 API 서버에 배포스크립트 파일 전송
Send files or execute commands over SSH Step 을 통해 배포스크립트 파일을 각 API 서버에 전송한다
7. 배포스크립트 수행
Execute shell script on remote host using ssh Step 을 통해 jenkins 서버에서 원격으로 각 API 서버에 전송된 배포스크립트를 수행한다
이때 jenkins에 등록된 환경변수를 export 시켜 환경변수를 사용해 배포스크립트가 수행되도록 한다
8. Slack 알림
운영하고 있는 Slcak 채널이 있다면 Jenkins 처리 결과를 Slack 메신저로 전송한다
'DevOps' 카테고리의 다른 글
Docker 기반 Jenkins 설치 및 Letsencrypt 인증서 설정 (0) | 2021.07.12 |
---|---|
Jenkins와 AWS ECR을 사용한 Docker 배포 [4] - 배포스크립트 작성 (0) | 2021.07.11 |
Jenkins와 AWS ECR을 사용한 Docker 배포 [2] - Jenkins 서버에서 AWS ECR 로그인 하기 (0) | 2021.07.11 |
Jenkins와 AWS ECR을 사용한 Docker 배포 [1] - AWS ECR Private Repository 생성 및 설정 (0) | 2021.07.11 |
<none> 태그 이미지 일괄 삭제 (0) | 2021.07.09 |
댓글