Jenkins를 활용한 CI/CD 입문 (with.AWS)
adding-manual-approval-step-for-production
조금 더 안전한 배포를 위해, 스테이징 배포 이후 관리자의 승인 이후에 프로덕션 환경에 배포되게끔 하면 어떨까?
Jenkins에서 제공하는 기능을 통해 구현해보자.
✅ 1. 새로운 파이프라인 생성하기
pipeline {
agent any
stages {
stage('Build') {
steps {
echo '빌드중...'
}
}
stage('Approval') {
steps {
}
}
stage('Deploy') {
steps {
echo '배포중...'
}
}
}
}
- Pipeline의 코드를 쉽게 작성하기 위해 제공하는 사이트에 접속한다.
- 입력 후 버튼을 클릭하여 해당 구문을 steps 내부에 추가해준다.
pipeline {
agent any
stages {
stage('Build') {
steps {
echo '빌드중...'
}
}
stage('Approval') {
steps {
input '배포를 진행할까요?'
}
}
stage('Deploy') {
steps {
echo '배포중...'
}
}
}
}
- 빌드를 진행하고 해당 팝업 문구가 잘 뜨는지 확인한다.
- Proceed 버튼을 클릭하여 배포를 진행한다.
- 누구에 의해 배포가 시작되었는지는 콘솔에 기록된다.
✅ 2. Approval에 Timeout 걸어보기
pipeline {
agent any
stages {
stage('Build') {
steps {
echo '빌드중...'
}
}
stage('Approval') {
steps {
// 단위 MINUTES로 변경!
timeout(time: 1, unit: 'MINUTES') {
input '배포를 진행할까요?'
}
}
}
stage('Deploy') {
steps {
echo '배포중...'
}
}
}
}
- TimeOut을 1분으로 설정 후 1분동안 승인 및 취소를 하지 말고 결과를 확인할 것
- 1분 경과 후 자동으로 취소된 것을 확인할 수 있음