프로그래밍/devops
개발팀 slack봇 알림 활용 총정리
브래드 킴
2022. 7. 1. 17:20
728x90
흔히들 배포 알림 목적으로 slack을 연동시키거나, 프로그램 내에 슬랙 api를 호출하여 특정 변경사항을 알림을 받는 용도로 슬랙을 사용하고 있을 것 같다. 슬랙봇 기능을 개발팀에서 어떻게 활용하는지 정리해보았다.
git 배포 여부 slack으로 알림 - github앱 구독
- 절차 : 설정 및 관리 -> 앱관리 -> github앱 설치-> 알림받을 채널선택 -> 해당 채널에 깃앱 추가하고 아래 명령어로 연결
- /github subscribe owner명/repositoy명 -> github계정 connect
- github 레포지토리에서 발생하는 commit, pr등의 상황을 구독
- 특징 : 매우간편
slack 봇을 만들기 - OAuth token 을 사용
- 절차 : slack api에서 앱 생성 및 토큰 발급 -> 워크스페이스에서 앱 설치 -> 채널에 해당 봇 추가 -> 메시지를 보내고자 하는 앱에서 토큰을 사용하여, 슬랙 API로 알림 내용을 생성한 봇으로 전달
- 특징
- xoxb~, xoxp~ 등의 형태로 생성된 토큰과 채널명을 앱에 삽입하여 slack bot으로 메시지전송
- 토큰을 활용한 보안확보
- POST, DELETE 등 다양한 API 활용 가능
웹후크 앱 활용(hook url 사용)
- 슬랙 앱중에 수신 웹후크라는 앱을 활용하면 수신용 url이 생성됨. 해당 url에 알림내용 전달하는 방식
- 절차 : 슬랙의 incoming webhooks 앱을 설치하고, 채널 선택 -> 웹후크 url이 생성됨
- 특징
- https://hooks.slack.com/services/xxxxxx 의 형태
- url에 전송할 정보만 전달하면 되므로 간단
- 추가적으로 아래와 같은 방식으로 docker watchtower와 함께 많이 활용
- 배포 후 image 변경 등을 watchtower가 catch
watchtower:
container_name: watchtower
image: index.docker.io/containrrr/watchtower:latest
environment:
WATCHTOWER_POLL_INTERVAL: 60
WATCHTOWER_NOTIFICATIONS: slack
WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL: 'https://hooks.slack.com/웹훅url'
WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER: watchtower-server
728x90