0. 들어가며
프로젝트를 진행하던 중 프론트엔드 수정 사항이 서비스에 반영되지 않고 있다는 사실을 한참이 지나서야 발견했다.
이때문에 코드에 문제가 있어 반영이 안된다고 생각해 불필요한 코드 수정을 반복하기도 했다.
이러한 문제를 방지하기 위해 Jenkins의 빌드 결과를 Slack을 통해 알림 받을 수 있도록 환경을 구축하게 되었다.
1. Slack에 Jenkins 플러그인 추가
- 젠킨스 알림을 받을 채널 생성
- 앱 > jenkins 검색 > Jenkins CI 추가
- 슬랙에 추가
- 채널 선택 > Jenkins CI 통합 앱 추가
- 3단계 팀 하위 도메인 & 통합 토큰 자격 증명 ID 복사
- 기타 설정 후 설정 저장
- 구성 추가 확인
2. Jenkins에 Slack 플러그인 추가
- Jenkins 관리 > Plugins > Available plugins > Slack Notification 다운로드 & Jenkins 재시작
- Jenkins 관리 > 시스템 구성 > Slack 내용 입력
- Credential 추가
- 추가한 Credential 선택 후 Test Connection 성공 시 저장
3. Jenkins 빌드 알림 스크립트 추가
- item 선택 > 구성 > 파이프라인에 아래 스크립트 추가
pipline {
...
environment {
...
SLACK_CHANNEL = '#{알림받을 채널명}'
SLACK_SUCCESS_COLOR = '#2C953C'
SLACK_FAIL_COLOR = '#FF3232'
}
...
post {
success {
slackSend (
channel: SLACK_CHANNEL,
color: SLACK_SUCCESS_COLOR,
message: "SUCCESS: Job ${env.JOB_NAME} #${env.BUILD_NUMBER} (${env.BUILD_URL})"
)
}
failure {
slackSend (
channel: SLACK_CHANNEL,
color: SLACK_FAIL_COLOR,
message: "FAIL: Job ${env.JOB_NAME} #${env.BUILD_NUMBER} (${env.BUILD_URL})"
)
}
}
}
- 빌드 시 결과 알림