
제가 일하고 있는 회사에서는 CI 도구로 Jenkins를 사용하여 어플리케이션을 배포하고 있습니다.
위 사진과 같은 flow로 배포를 하고 있는데요. 순서는 다음과 같습니다.
1. 개발자는 열심히 개발을 하여 Bitbucket에 코드를 Push합니다.
2. 젠킨스에 접속하여 로그인한 뒤, 배포하고자 하는 Item을 실행합니다.
3. 젠킨스는 어플리케이션 서버에 ssh 접속하여, 설정된 Shell Script를 실행하여 어플리케이션을 배포합니다.
위와 같은 flow를 통하여 어플리케이션을 "배포" 하는 것 자체는 굉장히 편했지만,
젠킨스에 직접 들어가보지 않는 이상 다른 구성원들은 지금 배포를 하고있는지 아닌지 모르기 때문에 "배포 직전 수동으로 슬랙 채널에 배포 정보를 올린 뒤 배포하기"를 그라운드 룰로 정했습니다.
그런데 개발 서버 특성 상 개발을 하면서 간단한 배포가 굉장히 빈번하게 이루어지기에, 매번 슬랙 채널에 배포 알림을 수동으로 올리는 것은 꽤나 번거롭기도 하고 까먹는 일도 많았습니다. 그러다보니 어느샌가 암묵적으로 아무도 개발 서버 배포 알림은 굳이 올리지 않게 되었습니다.
또한, 단순히 쉘 스크립트만을 통하여 배포가 이루어졌기에 만약 배포에 실패하면 어느 단계에서 실패했는지 직접 들어가서 로그를 봐야만 알 수 있었습니다.
그래서 배포를 할 때면, 젠킨스 로그를 실시간으로 계속 쳐다보고 있어야만 했는데 이런 점이 매우 불편하다고 생각했습니다.
이전에 저는 사이드프로젝트를 하면서 젠킨스 파이프라인 스크립트를 통하여 단계별 배포 실행과 배포 결과를 슬랙 메세지를 통하여 알림을 주는 작업을 간단하게 진행해본 경험이 있었는데요, 이러한 경험을 살려서 현재는 위에서 설명드린 불편한 점을 개선하였습니다.
많은 분들이 저와 같은 불편함을 겪고 계실 수도 있고, 저 또한 이후에도 배포 결과 알림 설정은 요긴하게 쓰일 것 같아 이 포스팅에 어떻게 적용하는지 가이드를 자세히 기록하려 합니다.
슬랙 Jenkins 토큰 발급
먼저 https://{알림설정할_워크스페이스}.slack.com/apps로 이동하여 Jenkins를 검색한 뒤 나오는 Jenkins CI를 슬랙에 추가해줍니다.
다음으로, 아래 사진의 빨간 네모박스를 클릭하여 알림을 받을 채널을 설정한 뒤 `Jenkins CI 통합 앱 추가` 버튼을 클릭합니다. 만약 채널이 없다면 새 채널 생성을 눌러 채널을 생성해주시면 됩니다.
그 다음 나오는 화면에서 아래로 스크롤한 뒤 3단계에서 나오는 팀 하위 도메인과 통합 토큰 자격 증명 ID를 어딘가에 잘 기록해두고 맨 아래 설정 저장을 누르시면 토큰 발급은 끝입니다.
Jenkins에 발급받은 슬랙 토큰 설정
이제 위에서 발급받은 토큰을 사용하기 위하여 젠킨스에 플러그인을 하나 설치해야하는데요,
아직 젠킨스를 설치하지 않으셨다면, 제가 이전에 포스팅한 도커로 젠킨스 설치, 설정 가이드 글을 보고 설치 먼저 해주시기 바랍니다.
Jenkins 관리 > Plugins > Available plugins에 들어갑니다.
`Slack Notification Plugin`을 검색하여 설치해줍니다.
플러그인 설치가 완료되었다면, 다시 Jenkins 관리 > System에 들어갑니다.
하단으로 스크롤을 쭉 내려보면, Slack 탭이 보이실 겁니다.
Workspace에는 아까 전 발급받은 하위 도메인을, Default channel에는 알림을 받을 채널 명을 입력해줍니다.
※ 여기서 주의사항은 알림을 받을 채널명에 #까지 붙여야 한다는 것입니다.
Credential에는 발급받은 토큰 값을 입력해주어야 하는데, 직접 입력하는 것이 아니라 Credential을 등록한 뒤에 Select Box를 통해서 지정해주어야 합니다.
Credential을 등록하기 위하여 하단의 +Add 버튼을 눌러 줍니다.
나오는 창에서 Kind는 Secret text를 선택하고, Secret에 슬랙 토큰 값을 입력합니다.
ID에는 사용하고 싶은 Credential 이름을 입력해주면 됩니다.
전부 입력하셨다면 Add 버튼을 누르고, 아까의 화면에서 등록한 Credential을 지정해준 뒤 저장버튼을 눌러줍니다.
여기까지 설정을 잘 따라오셨다면, 지정한 채널에 다음과 같이 젠킨스 슬랙 플러그인 설정이 되었다고 메세지가 오게 됩니다.
다음에는 젠킨스 파이프라인 스크립트 작성법에 대하여 알아보겠습니다!
'개발 > DevOps' 카테고리의 다른 글
EC2 스왑메모리 설정 방법 (0) | 2025.01.13 |
---|---|
Jenkins Pipeline Script로 슬랙에 배포 알림 메세지 보내기(2) - 스크립트 작성 (8) | 2024.09.01 |
개발을 하며 만났던 문제들과 해결 과정, 공부한 내용 등을 기록합니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!