CI/CD 구축을 했는데... 이게 잘 되는건지... 안되는건지...
직접 접속해서 확인하는 것은 너무 비효율적이지 않을까...? 라는 고민을 했습니다.
이때, 현업에 계시는 분들은 어떻게 할까?를 찾아보게 되었고!!
내부 메신저에 연동해서 빌드 결과를 확인한다는 것을 보았습니다.
네! 그래서 저도 해보겠습니다.
채널 알림 연동ㅎㅎ
레츠고우~!@#!@!@!~!~!레츠고우~!@#!@!@!~!~!레츠고우~!@#!@!@!~!~!
제목 : 임의의 제목 (Jenkins_Build_Result)
설명 : 설명 (Jenkins_Build_Result)
채널 : 메세지를 받을 채널 선택 (Jenkins_Build_Result)
Jenkins로 이동해주시고요! Mattermost Plugin 다운 받아주세요!
Dashboard > Jenkins 관리 > Plugins > Mattermost Notification Plugin Install
저는 이미 다운 받아서 없어요!
Endpoint : 메타모스트에서 발급 받은 URL (https://meeting.example.com/hooks/머시기머시기)
Channel : Incoming Webhook을 추가할 때 설정했던 채널 이름
(Jenkins_Build_Result)
Icon to use : 비워도 된다.
Build Server URL : Jenkins 주소 (자동 입력된다,)
Pipeline 모든 과정이 끝나고 맨 아래 줄에 추가해주시면 됩니다!
endpoint, channel 부분에는 설정하신 값으로 바꿔주세요!
stage('Notification') {
steps{
echo 'jenkins notification!'
}
post {
success {
script {
def Author_ID = sh(script: "git show -s --pretty=%an", returnStdout: true).trim()
def Author_Name = sh(script: "git show -s --pretty=%ae", returnStdout: true).trim()
mattermostSend(color: 'good',
message: "빌드 성공: ${env.JOB_NAME} #${env.BUILD_NUMBER} by ${Author_ID}(${Author_Name})\n(<${env.BUILD_URL}|Details>)",
endpoint: '메타모스트에서 발급 받은 URL',
channel: 'Jenkins_Build_Result'
)
}
}
failure {
script {
def Author_ID = sh(script: "git show -s --pretty=%an", returnStdout: true).trim()
def Author_Name = sh(script: "git show -s --pretty=%ae", returnStdout: true).trim()
mattermostSend(color: 'danger',
message: "빌드 실패: ${env.JOB_NAME} #${env.BUILD_NUMBER} by ${Author_ID}(${Author_Name})\n(<${env.BUILD_URL}|Details>)",
endpoint: '메타모스트에서 발급 받은 URL',
channel: 'Jenkins_Build_Result'
)
}
}
}
}
와우!
이제 Jenkins pipline 과정이 끝나면 정상적으로 빌드가 된다면
아래와 같이 뜨네요!!!
이제 채널 알림 연동해서 편리하게 빌드가 되었는지 확인이 가능합니다.
대박!
나이스!
CI/CD 자동화 과정은
직접 모든 것을 수동으로 하다보면
"이 과정을 더 편리하게 자동으로 할 수는 없을까?" 라는
의문으로 시작되는 것 같습니다!
저도 나중에는 자동화 Tool을 만들어서 개발자들에게 편리한 개발 환경을 제공해보고 싶은데요!
언젠가.. 할 수 있겠죠? 노력해보겠습니다.. 아자아자 !!
여러분들도 화이팅입니다!