티스토리 뷰
GitHub Actions를 이용해 자동 배포를 운영하다 보니 배포될 때마다 타팀에서 종종 문의가 온다.
지금 누가 배포중인가요?
배포 끝났나요?
서비스 화면이 갑자기 안보여요.
개발팀은 GitHub Actions에 직접 들어가면 확인할 수 있지만 팀원 모두가 매번 Actions 페이지를 확인하는 것도 번거롭다.
그래서 GitHub Actions에서 배포가 시작되거나 성공/실패했을 때 Slack 채널로 자동 알림이 오도록 설정했다.
설정을 완료하면 최종적으로 이렇게 슬랙 알림이 온다.

1. 구조 확인
dev 브랜치 Push / Merge
↓
GitHub Actions 실행
↓
배포자 확인
↓
Slack 배포 시작 알림
↓
서버 배포
↓
성공 / 실패
↓ ↓
✅ ❌
↓
Slack 결과 알림
필자는 기존에 GitHub Actions 자동 배포가 구축되어 있어 Slack 알림 부분만 추가했다.
[자동 배포 구축은 아래 글을 확인해주세요 ⬇️ ]
2026.06.21 - [그외 기록/운영 및 설정] - [GitHub Actions] Node.js 서버 자동배포 설정하기
2. Slack App 생성하기
2-1. Create an App 클릭
Slack Apps 페이지에서 앱을 생성한다.

2-2. Blank app 클릭

2-3. 앱 이름과 배포 알림을 받을 Slack Workspace 선택
- App Name: GitHub Deploy Bot
- 회사 Slack Workspace 선택

3. Incoming Webhook 설정
3-1. Activate Incoming Webhooks를 On으로 활성화

3-2. Add New Webhook 클릭

3-3. 배포 알림을 받을 채널을 선택

설정이 완료되면 Webhook URL이 발급된다.
Webhook URL을 알고 있으면 해당 채널로 메시지를 보낼 수 있기 때문에 관리에 주의한다.

4. GitHub Actions Secret 등록
경로: GitHub Repository → Settings → Secrets and variables → Actions → New repository secret 클릭

- Name: SLACK_WEBHOOK_URL
- Secret: 위에서 발급받은 발급받은 Slack Webhook URL

5. deploy-dev.yml 작성
5-1. GitHub ID와 이름 매핑
GitHub Actions에서는 ${{ github.actor }}를 통해 워크플로우를 실행한 사용자의 GitHub ID를 가져올 수 있다.
그대로 Slack 메시지에 GitHub ID가 노출되는데, case문으로 GitHub ID와 이름을 매핑하여 실제 팀원의 이름이 표시되도록 했다.
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Set deployer
run: |
case "${{ github.actor }}" in
githubId_1)
DEPLOYER="김지은"
;;
githubId_2)
DEPLOYER="이지은"
;;
githubId_3)
DEPLOYER="박지은"
;;
*)
DEPLOYER="${{ github.actor }}"
;;
esac
echo "DEPLOYER=$DEPLOYER" >> "$GITHUB_ENV"
5-2. 배포 시작 Slack 알림
배포가 시작되기 전에 배포중이라는 알림을 보내야 하기 때문에 실제 배포 step보다 위에 위치시킨다.
- name: Slack deploy notification
run: |
curl -X POST \
-H 'Content-type: application/json' \
--data "{\"text\":\"🚀 ${DEPLOYER}님이 dev 배포를 시작했습니다.\"}" \
"${{ secrets.SLACK_WEBHOOK_URL }}"
- name: Deploy to dev server
...
5-3. 배포 성공/실패 알림 추가
- name: Deploy to dev server
...
- name: Slack deploy success notification
if: success()
run: |
curl -X POST \
-H 'Content-type: application/json' \
--data "{\"text\":\"✅ ${DEPLOYER}님의 dev 배포가 완료되었습니다.\"}" \
"${{ secrets.SLACK_WEBHOOK_URL }}"
- name: Slack deploy failure notification
if: failure()
run: |
curl -X POST \
-H 'Content-type: application/json' \
--data "{\"text\":\"❌ ${DEPLOYER}님의 dev 배포가 실패했습니다.\"}" \
"${{ secrets.SLACK_WEBHOOK_URL }}"
6. App icon 변경하기
마지막으로 Slack에 표시되는 GitHub Deploy Bot의 아이콘을 변경해보자.
기본 아이콘을 사용해도 문제는 없지만 자동배포 알림임을 한눈에 알아볼 수 있도록 원하는 이미지를 설정해주었다.
먼저 Slack Apps 페이지로 이동한다.

GitHub Deploy Bot 클릭 → Basic Information → Display Information에서 App icon을 변경할 수 있다.
+Add App Icon를 클릭해 원하는 이미지 파일을 업로드하고 저장하면 이후 Slack 배포 알림에서도 변경한 아이콘이 표시된다.
*정사각형 이미지 권장


변경 완료!

7. 적용 결과 확인

'그외 기록 > 운영 및 설정' 카테고리의 다른 글
| [macOS] 맥북에서 유선 이어폰 연결 안될 때 해결 (0) | 2026.07.12 |
|---|---|
| [공공데이터포털] OpenAPI 활용신청하기(공휴일 정보) (0) | 2026.07.12 |
| [macOS] 맥북에서 폴더 압축+비밀번호 설정하기(터미널) (0) | 2026.07.12 |
| [공공데이터포털] 회원가입(가입유형 일반/기업회원 선택) (0) | 2026.07.10 |
| [CI/CD] GitHub Actions 서버 자동배포 설정하기(Node.js 서버) (0) | 2026.06.21 |
- Total
- Today
- Yesterday