11mia 2021. 8. 30. 02:46

1. Jenkins에서 slack 플러그인 설치

2. slack app directory에서 jenkins 추가

가이드에 따라 연동을 해준다

3. Jenkins 설정 변경

젠킨스에서 연동에 성공

 case1) 파이프라인이 freestyle로 작성된 경우,

이 경우는 빌드 환경 메뉴 안에 빌드 후 조치로 slack notification 옵션이 존재한다.

파이프라인에 대해서도 빌드 후 slack notification이 오도록 설정한다
슬랙에도 정상적으로 셋팅 메시지가 발송되었다

이제 빌드를 클릭하면, 정상적으로 빌드에 대한 노티를 확인할 수 있다.

슬랙에 빌드에 대한 노티 발송

 

case2) pipeline 으로 작성하여, 파이프라인 전체가 Jenkinsfile에 있을 경우,

이 경우는 동일하게 슬랙 노티에 대한 부분도 Jenkinsfile에 기재해야한다.

pipeline {
    agent any

	# 슬랙 채널 설정
    environment {
        SLACK_CHANNEL = '#jenkins'
    }

    stages {
    	# 파이프라인 시작시, 슬랙 노티 발송
        stage('Start') {
                steps {
                    slackSend (channel: SLACK_CHANNEL, color: '#FFFF00', message: "STARTED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
                }
        }

        stage('git scm update') {
            steps {
                git url: 'https://github.com/11mia/docker-hello-world.git'
            }
        }
            
        stage('build'){
            steps {
                nodejs(nodeJSInstallationName: 'nodejs'){
                sh 'npm install'
                sh 'npm run'
                }
            }
        }
    }
	
    # 파이프라인 종료 후, 결과에 대한 노티 발송
    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})")
        }
    }
}

빌드에 대한 결과가 슬랙 알림으로 발송된다.

 

# 어디까지 했나