Gitlab CI/CD - Make Stage by Branch Name
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Gitlab을 현재 SOA와 연결해서 사용 중인데 Branch 이름으로 Stage를 분개해야 할 상황이 생겼다 (아래 링크는 Gitlab 과 EAI관련 Posting 임)
링크 : EAI with Gitlab
이번 포스팅은 Branch 생성 시 Branch Name에 특정 문구가 있을 시 별도 Stage가 생성되는것을 공유 드리고자 한다
Gitlab의 CI/CD를 사용하려면 gitlab-ci.yml 을 이용해야하며, Pipeline에 Stage 별로 Job이 생성 된다
예를 들어보자
1. gitlab-ci.yml 파일 생성
stages:
- deploy
- approve
- deploy_prd
deploy_imsi:
stage: deploy
tags:
- Integration
script:
- echo "Deploy"
when : manual
deploy_pi_test:
stage: deploy
tags:
- Integration
script:
- echo "Deploy"
when : manual
deploy_qas:
stage: deploy
tags:
- Integration
script:
- echo "Deploy"
when : manual
deploy_test:
stage: deploy
tags:
- Integration
script:
- echo "Deploy"
when : manual
approve:
stage: approve
tags:
- Integration
script:
- echo "Approve"
when : manual
deploy_big:
stage: deploy_prd
tags:
- Integration
script:
- echo "Deploy PRD"
when : manual
deploy_prd:
stage: deploy_prd
tags:
- Integration
script:
- echo "Deploy PRD"
when : manual
2. 위 gitlab-ci.yml 파일 기준으로 아래 그림과 같이 3개의 Stage(Deploy, Approve, Deploy_prd)와 7개의 Job이 생성 됨
그럼, Branch 생성 시 Branch Name에 DR 이란 문구가 있으면, Deploy_dr Stage가 추가로 생성하려면 위 gitlab-ci.yml 파일에서 다음을 추가 해 주면 된다
deploy_DR:
stage: deploy_dr
tags:
- Integration
only:
variables:
- $CI_COMMIT_REF_NAME =~ /DR/
script:
- echo "Deploy DR"
when : manual
(
위 $CI_COMMIT_REF_NAME 는 Gitlab CI/CD 동작 시 Branch Name의 정보 값이다
-> gitlab-ci.yml 파일에서 아래를 추가 하면 Job 실행 시 Log를 볼 수 있음
variables:
CI_DEBUG_TRACE: "true"
)
default/Project1/1.0/DR 라는 Name의 Branch를 생성 하면..아래 그림과 같이 Deploy_dr이란 Stage가 생성 된다!!!
감사합니다 :)
- 공유 링크 만들기
- X
- 이메일
- 기타 앱