[졸업프로젝트]Jenkins, Slack 연동

shane·2021년 3월 26일
1
post-thumbnail

Jenkins-Slack 연동

이전 포스팅에서 jenkins, github, service server(운영용)를 힘들게 끝마치고 몇 번 사용을 해보니 느끼게 되었다.
jenkins를 사용하는 것 자체는 매우 편한데, jenkins의 빌드 결과를 jenkins 홈에 들어가서 확인해야 했다. 매우 불편하다! 그래서 생각해낸 것은 바로 Slack이다! 알아보니 프로젝트 진행시 많이 사용하는 메신저라고 한다.

Slack 연동

가장 먼저 Slack의 Workspace를 만들고나서 좌측의 메뉴에서 을 클릭한다.

이후 Jenkins를 검색하여 설치한다. 버튼을 누르게 되면, 웹사이트로 연결이 되는데 거기서 알려주는 팀 하위 도메인, 통합 토큰 자격 증명의 값들을 다른 곳에 저장해둔 상태로 하단으로 쭉 내려 저장을 누른다.

(2021.04.23 수정)
내용을 읽다보니 Jenkins에서 플러그인 설치 부분이 빠져있는 것을 인지했다.
Jenkins관리 → 플러그인 관리로 이동하여 Slack Notification이라는 플러그인을 설치하자. 이 플러그인은 SSH관련 플러그인과 달리 재시작할 필요가 없으니 설치시 Install without restart를 눌러서 설치를 해주자.

Jenkins로 넘어가서 Jenkins 관리 → 시스템 설정으로 들어간다. 하단으로 쭉 내리면 Slack 메뉴가 있다.

Workspace는 아까 옮겨서 적어둔 팀 하위 도메인을 적는다.
Default channel / member id는 아까 슬랙 웹사이트 상에서 선택한 jenkins 알람을 받을 채널명을 적는다.
Credential이 필요하다. 하단을 읽어보자.
우선 Add를 클릭한 후, Kind 값을 secret text를 클릭한다.

Secret에다가 아까 옮겨 적어둔 통합 토큰 자격 증명값을 적는다.
ID는 그냥 식별자다. 원하는 이름을 적고 Add를 누르자.

Test Connection을 눌러서 연결 테스트를 해보자. Success가 뜨면 Slack의 채널에 jenkins 알람이 간다.

Jenkins 설정

생성한 Item의 구성으로 가서 빌드 후 조치로 간다.

알람이 원하는 경우를 선택하고 저장을 한다.


후기

jenkins의 알람 부재를 slack과의 연동을 통해서 해결할 수 있게 되었다. 다행히도 기존 포스팅한 jenkins 설치 및 설정과 관련한 것보다는 쉽게 끝나서 다행이다.
다음의 고민이 남아있다.

기존의 Github Webhook 방식은 새롭게 push가 될 때마다, 전체를 다 테스트를 하기 때문에 속도의 문제가 있다. 이와 관련한 해결방안을 찾아보니 Pull Request가 오면 자동으로 수정된 부분과 관련한 유닛테스트를 진행해주는 jenkins 플러그인인 Pull Request Builder가 있다고 한다. 한번 공부해봐야겠다.

profile
개발 관련 소통을 좋아하는 백엔드 개발자입니다.

0개의 댓글