Slack
Slack 알림을 사용하면 Semaphore 워크플로에 대한 실시간 업데이트를 Slack 채널에서 바로 받을 수 있습니다. 이 연동을 통해 팀은 Semaphore 대시보드를 계속 확인하지 않고도 빌드 상태, 배포 결과 및 기타 중요한 이벤트를 파악할 수 있습니다.
Slack 알림을 설정하려면 Semaphore를 원하는 Slack 채널에 연결하는 webhook URL을 만들어야 합니다. 이 webhook은 두 플랫폼 사이의 안전한 통신 다리 역할을 합니다.
Slack webhook 만들기
1단계. Slack API 설정 열기
- https://api.slack.com/apps로 이동합니다.
- Create New App을 클릭한 다음 From Scratch를 선택합니다.
- 앱 이름(예:
Semaphore Bot)을 지정하고 Slack 워크스페이스를 선택합니다.
2단계. Incoming Webhooks 활성화
- 앱 설정에서 Features → Incoming Webhooks로 이동합니다.
- Activate Incoming Webhooks를 On으로 전환합니다.
3단계. webhook URL 만들기
-
Add New Webhook to Workspace를 클릭합니다.
-
메시지를 보낼 xx채널xx을 선택합니다.
-
Allow를 클릭합니다.
-
다음과 같은 Webhook URL이 표시됩니다:
https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx
4단계. webhook 테스트
curl을 사용하여 테스트합니다:
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Hello from Semaphore UI 🚀"}' \
https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx
모든 설정이 올바르다면 선택한 Slack 채널에 메시지가 표시됩니다.
Semaphore 설정
Slack webhook URL을 확보했다면 여러 방법으로 Semaphore가 알림을 보내도록 설정할 수 있습니다:
설정 파일 또는 환경 변수를 사용하여 Slack 알림을 활성화할 수 있습니다.
방법 1: 설정 파일
Semaphore 설정 파일에 다음 설정을 추가합니다:
slack_alert: Slack 알림을 활성화하려면true로 설정합니다slack_url: 이전 단계에서 얻은 webhook URL
config.json 예시:
{
"slack_alert": true,
"slack_url": "https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx",
}
방법 2: 환경 변수
또는 환경 변수를 사용하여 Slack 알림을 설정할 수도 있습니다. 이 방법은 컨테이너 기반 배포 환경이나 민감한 정보를 설정 파일과 분리하고 싶을 때 특히 유용합니다.
SEMAPHORE_SLACK_ALERT=True
SEMAPHORE_SLACK_URL=https://hooks.slack.com/services/xxxxxxxxxxx/xxxxxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxx