본문 바로가기

CI

Jenkins & Slack 연동하기


  + 

젠킨스와 슬랙을 연동하여, 젠킨스의 빌드 시작, 성공 여부, 빌드 이슈등의 알림을 슬랙 메신저를 통해 실시간으로 받아볼 수 있습니다.

일반적으로 빌드 시작 등의 이벤트는 별로 의미가 없지만, 빌드 실패 또는 테스트 실패같은 중요한 이벤트의 경우 슬랙으로 실시간으로 푸시와 알림을 받을 수 있기 때문에 유용합니다.
(현재 개발중인 C# 프로젝트를 연동해서 쓰고 있는데 매우 편리합니다.)



먼저 젠킨스의 플러그인 관리 페이지에 접속합니다.


그 후 SlackNotification Plugin을 검색하여 설치합니다.
(프로젝트 페이지 : https://github.com/jenkinsci/slack-plugin)


설치 후 젠킨스를 재시작한 뒤, 아래 주소로 접속합니다. 슬랙에는 로그인이 유지된 상태여야 합니다.
(https://my.slack.com/services/new/jenkins-ci)


(접속하면 보이는 화면)


이곳에서 빌드 이벤트를 어떤 채널, 또는 DM으로 보낼 지 설정이 가능합니다. 원하는 채널을 설정하고 Add Jenkins Configuration 버튼을 클릭합니다.



다음을 누르면 나타나는 페이지에 Token 항목이 있습니다. 이 값은 나중에 사용되므로 저장합니다.

나머지는 별로 설정할것이 없습니다. 젠킨스의 각종 알림 설정은 Slack 에서 하는것이 아닌 젠킨스측에서 하는것이기 때문에 이곳에서는 그냥 Save Settings 버튼을 누르고 넘어갑니다.


이제 다시 젠킨스로 돌아옵니다.

연동하고자 하는 빌드 아이템의 '구성' 화면에 들어오면 Slack Notifications 항목이 추가된것을 확인할 수 있습니다.
(추가되지 않았다면 플러그인 설치 후 반드시 재시작해주세요)


이곳에서 어떠한 알림을 슬랙으로 전송할것인지 설정합니다.

빌드 시작, 중단, 실패, 성공 등의 알림을 받을 수 있습니다.


Slack Notifications 하단의 고급 버튼을 누르면 이러한 설정 창이 나타납니다. 이곳에 값을 입력합니다.
토큰 값은 아까 저장한 문자열입니다.

고급 설정 오른쪽에 Test Connection 버튼이 있는데, 이 버튼을 이용해 설정이 잘 완료되었는지 검사할 수 있습니다.



마지막으로 빌드 후 조치 Slack Notifications 항목을 추가합니다.


이제 실제로 빌드를 수행해보고 슬랙에 메세지가 잘 도착하는지 테스트하는일만 남았습니다.


위와 같이 빌드가 수행되고, 빌드 결과가 채널에 도착하면 성공입니다.



'CI' 카테고리의 다른 글

Jenkins에서 CakeBuild 사용하기  (0) 2016.11.16