이전 포스팅에서 jenkins
, github
, service server(운영용)
를 힘들게 끝마치고 몇 번 사용을 해보니 느끼게 되었다.
jenkins를 사용하는 것 자체는 매우 편한데, jenkins의 빌드 결과를 jenkins 홈에 들어가서 확인해야 했다. 매우 불편하다! 그래서 생각해낸 것은 바로 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 알람이 간다.
생성한 Item의 구성
으로 가서 빌드 후 조치로 간다.
알람이 원하는 경우를 선택하고 저장
을 한다.
jenkins의 알람 부재를 slack과의 연동을 통해서 해결할 수 있게 되었다. 다행히도 기존 포스팅한 jenkins 설치 및 설정과 관련한 것보다는 쉽게 끝나서 다행이다.
다음의 고민이 남아있다.
기존의 Github Webhook 방식은 새롭게 push가 될 때마다, 전체를 다 테스트를 하기 때문에 속도의 문제가 있다. 이와 관련한 해결방안을 찾아보니 Pull Request가 오면 자동으로 수정된 부분과 관련한 유닛테스트를 진행해주는 jenkins 플러그인인
Pull Request Builder
가 있다고 한다. 한번 공부해봐야겠다.