Jenkins - Jenkins pipeline Slack notification(젠킨스 빌드 슬랙 알림)
오늘 다루어볼 포스팅은 간단하게 젠킨스의 빌드 시작과 성공/실패에 대한 알림을 슬랙으로 받는 방법이다. 간단해서 아주 짧은 포스팅이 될 것 같다.
1. Slack Jenkins CI app install
예제는 이미 슬랙이 설치되어있고 계정이 있다는 가정에서 진행한다. 채널을 하나 생성해준 후 밑의 Apps 버튼을 누른다.
젠킨스(Jenkins)로 검색하여 다운로드 한다.
알림받을 채널을 입력한다.
진행하다보면 슬랙의 Team Subdomain과 인증 token을 받을 수 있다. 이러한 데이터를 이용하여 Jenkins에서 Slack과의 연동 설정을 할것이다.
젠킨스 설정에서 이제 슬랙과 연동을 할 것이다.
플러그인 관리에서 Slack Notification plugin을 install 해준다.
이제 Jenkins 설정 > 시스템 설정 > Slack에서 방금 받은 토큰과 Team Subdomain등을 입력할 것이다.
Test Connection을 클릭 후 Success가 뜬다면 완료 !
우리는 Multibranch pipeline에서 slack notification을 받을 것이므로, Jenkinsfile에 noti관련 스크립트를 추가할 것이다.
pipeline {
agent none
environment {
SLACK_CHANNEL = '#test_notification'
}
stages {
stage('Start') {
steps {
slackSend (channel: SLACK_CHANNEL, color: '#FFFF00', message: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
}
}
stage('example build') {
steps {
echo 'jenkins sample build ! '
}
}
}
post {
success {
slackSend (channel: SLACK_CHANNEL, color: '#00FF00', message: "SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
}
failure {
slackSend (channel: SLACK_CHANNEL, color: '#FF0000', message: "FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
}
}
}
Start stage와 post step에 Slack noti script를 추가하였다. 한번 테스트해보자 !
와우 굿 ! 알림이 왔다. ㅎㅎ 이렇게 Jenkinsfile에 알림 스크립트를 추가하면 프로젝트마다 서로 다른 채널연결이 가능하고, 더 복잡한 조건에 대한 알림이 가능할 것이다 !
출처: https://coding-start.tistory.com/328?category=853586 [코딩스타트]
'CI, CD > jenkins(Hudson)' 카테고리의 다른 글
CI/CD , Jenkins란? (0) | 2022.05.25 |
---|---|
Jenkins - Jenkins Multibranch pipeline(멀티브랜치 파이프라인)을 이용하여 Docker image build & push 하는 방법 (0) | 2021.04.26 |
Jenkins - Jenkins dood(docker out of docker)로 실행시켜 agent docker 사용하기 (0) | 2021.04.26 |
Jenkins - Jenkins&GitHub을 이용하여 아주 간단한 MultiBranch pipeline 만들어보기 (0) | 2021.04.26 |
Jenkins - CentOS에 docker 환경으로 Jenkins 설치(Jenkins&GitHub CI) (0) | 2021.04.26 |
[Jenkins - Server] 배포설정 : Jenkins + Node js 프로젝트 배포 (0) | 2021.03.17 |
[Jenkins - Server] 소스관리 : Jenkins + 원격 Git Server 사용하기 (0) | 2021.03.17 |
[Jenkins - Server] 설치하기 (0) | 2021.03.17 |