Gửi thông báo Slack từ GitHub Actions: để CI/CD không chạy trong im lặng
Tổng hợp ngắn các bước tích hợp Slack vào GitHub Actions — đủ để hình dung flow và quyết định có setup hay không, trước khi xem hướng dẫn chi tiết.
Bởi Phạm Thanh Tùng
CI/CD chạy tốt nhất khi nó vô hình — cho tới khi có gì đó hỏng. Vấn đề là "vô hình" cũng đồng nghĩa với "không ai biết": build fail đêm qua, sáng hôm sau mới có người mở tab Actions ra thấy.
Cách rẻ nhất để sửa khoảng mù này là đẩy kết quả build thẳng vào Slack — nơi team vốn đã ngồi cả ngày. Bài này tóm tắt luồng setup; các bước bấm chuột chi tiết mình dẫn về bài gốc ở cuối.
Flow gồm 3 phần
1. Tạo Slack App + Incoming Webhook → lấy URL dạng hooks.slack.com/services/... để GitHub gọi vào channel bạn chọn.
2. Lưu URL làm GitHub Secret (tên SLACK_WEBHOOK_URL) — tuyệt đối không commit vào repo.
3. Thêm step `act10ns/slack` vào workflow — action này tự đọc biến môi trường SLACK_WEBHOOK_URL và format message từ output các step trước, không phải tự ghép JSON.
Đoạn YAML tối thiểu
- name: Notify Slack
if: always()
uses: act10ns/slack@v2
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
with:
channel: '#ci-notifications'
status: ${{ job.status }}
steps: ${{ toJson(steps) }}Hai điểm dễ bỏ sót: if: always() đảm bảo step Slack vẫn chạy khi build fail (đúng lúc bạn cần nhận thông báo nhất), và status: ${{ job.status }} cho Slack hiển thị màu xanh/đỏ theo kết quả.
Xem hướng dẫn đầy đủ
Toàn bộ các bước bấm chuột trong Slack UI và GitHub Settings — kèm screenshot — có trong bài gốc của Coach AK: How to integrate Slack with GitHub Actions.
Bài trên trình bày ví dụ với project Java/Maven, nhưng phần Slack webhook và action act10ns/slack dùng được cho mọi stack — chỉ cần thay các step build tương ứng.
Thẻ
- Slack
- GitHub Actions
- CI/CD
- DevOps
Bài viết khác
Dev Experience
Tùy biến statusline cho Claude Code trong 3 bước: model, chi phí, rate limit, branch
Một script shell ngắn hiển thị model đang dùng, context đã xài, chi phí session, rate limit 5h và branch git — chạy nhiều Claude session song song không bị lạc.
· 3 phút đọc
DevOps
Floci: AWS emulator chạy local, mã nguồn mở, không giới hạn CI
Một bản thay thế LocalStack cho nhu cầu mock AWS khi dev và chạy test — miễn phí hoàn toàn, không feature gate, không cần account, không telemetry.
· 4 phút đọc
Dev Experience
godly.website: nơi lục khi thấy UI của mình nhạt nhạt
Một gallery tuyển chọn các trang web có visual đẹp đến mức "astronomically good" — dùng để nhặt hero section, micro-interaction, chuyển cảnh khi cần tham khảo nhanh.
· 3 phút đọc
