Menyiapkan Notifikasi dan Peringatan
Konfigurasikan notifikasi dan peringatan otomatis untuk kegagalan, keberhasilan, atau peristiwa kritis pipeline menggunakan berbagai kanal komunikasi.
Menyiapkan Notifikasi dan Peringatan adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Mengapa Notifikasi Alur CI/CD?
Dalam pengembangan yang serba cepat, mengetahui kondisi alur CI/CD Anda sangat penting. Notifikasi otomatis membuat tim Anda tetap mendapat informasi tentang peristiwa penting.
Pelajaran ini membahas cara menyiapkan peringatan untuk keberhasilan, kegagalan, dan tonggak penting alur lainnya menggunakan GitHub Actions.
Notifikasi GitHub Bawaan
GitHub menyediakan notifikasi dasar secara langsung. Jika Anda "mengikuti" repositori, Anda akan menerima notifikasi melalui email atau web untuk eksekusi alur kerja.
- Berhasil: Alur kerja selesai.
- Gagal: Alur kerja gagal.
- Netral: Alur kerja dibatalkan.
Namun, notifikasi ini sering kali bersifat pribadi dan tidak menyediakan komunikasi waktu nyata untuk seluruh tim yang diperlukan bagi CI/CD yang efektif.
Saluran Notifikasi Populer
Untuk mengatasi kesenjangan ini, GitHub Actions terintegrasi dengan berbagai layanan eksternal. Saluran umum untuk peringatan tim meliputi:
- Slack: Platform komunikasi tim yang populer.
- Microsoft Teams: Alat kolaborasi lain yang banyak digunakan.
- Surel: Untuk peringatan yang lebih formal atau tidak mendesak.
- Kait Web Kustom: Untuk integrasi dengan hampir semua layanan.
Saluran-saluran ini memungkinkan pembaruan terpusat secara waktu nyata.
Integrasi Slack dengan Aksi
Mengintegrasikan Slack adalah cara umum untuk mendapatkan pembaruan alur secara langsung. Anda dapat menggunakan aksi dari GitHub Marketplace atau mengirim data secara langsung ke kait web Slack.
Aksi dari Marketplace menyederhanakan proses dengan menyembunyikan kerumitan permintaan HTTP.
Alur Kerja Notifikasi Slack Sederhana
Berikut alur kerja dasar yang mengirim notifikasi Slack setiap kali ada perubahan yang didorong ke cabang main. Perhatikan penggunaan Rahasia GitHub untuk URL kait web.
name: Notify on Push
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Send Slack Notification
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_MESSAGE: "New push to main branch!"
SLACK_COLOR: "good"
Notifikasi Bersyarat (Saat Gagal)
Sering kali, Anda hanya ingin menerima notifikasi jika terjadi kesalahan. GitHub Actions memungkinkan Anda menambahkan kondisi ke langkah menggunakan ekspresi if:.
Ekspresi failure() memeriksa apakah langkah sebelumnya dalam tugas mengalami kegagalan. Dengan demikian, saluran komunikasi Anda tidak terlalu ramai.
name: Notify on Failure
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: This step will fail
run: exit 1 # Simulate a failure
- name: Send Failure Notification to Slack
if: failure()
uses: rtCamp/action-slack-notify@v2
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_MESSAGE: "Workflow failed on ${{ github.ref }}!"
SLACK_COLOR: "danger"
Peringatan melalui Kait Web Kustom
Untuk layanan yang tidak memiliki aksi GitHub khusus, Anda dapat menggunakan kait web umum. Caranya adalah membuat permintaan HTTP POST, sering kali dengan curl, ke URL tertentu.
Hal ini memberikan fleksibilitas maksimum sehingga Anda dapat berintegrasi dengan dasbor kustom, sistem manajemen insiden, atau bahkan gerbang SMS.
name: Custom Webhook Alert
on: [workflow_dispatch]
jobs:
alert:
runs-on: ubuntu-latest
steps:
- name: Send Custom Alert
run: |
curl -X POST -H "Content-Type: application/json" \
-d '{"text":"A custom alert from GitHub Actions!"}' \
${{ secrets.CUSTOM_WEBHOOK_URL }}
env:
CUSTOM_WEBHOOK_URL: ${{ secrets.CUSTOM_WEBHOOK_URL }}
Memfilter Cakupan Notifikasi
Anda mungkin ingin memberi tahu tim yang berbeda untuk bagian alur yang berbeda. Anda dapat menggunakan kondisi if: untuk memfilter notifikasi berdasarkan:
- Cabang:
github.ref == 'refs/heads/main' - Status tugas:
always(),success(),failure(),cancelled() - Langkah tertentu: Periksa hasil dari langkah tertentu.
Hal ini memastikan hanya peringatan yang relevan yang sampai kepada orang yang tepat.
Melindungi Rahasia Notifikasi
URL kait web dan token API untuk layanan notifikasi bersifat sensitif. Keduanya tidak boleh pernah ditulis langsung ke dalam berkas alur kerja Anda.
Selalu simpan keduanya sebagai Rahasia GitHub. Rahasia ini dienkripsi dan hanya diberikan kepada pelaksana selama eksekusi alur kerja, sehingga kredensial Anda tetap aman.
Pemeriksaan Cepat Peringatan
Bayangkan alur kerja yang dirancang untuk membangun dan menguji kode. Kami ingin menerima notifikasi di Slack ONLY jika langkah pembangunan atau pengujian gagal.
Kondisi if: mana yang harus digunakan untuk langkah notifikasi Slack agar tujuan ini tercapai?
Ringkasan: Notifikasi & Peringatan
Anda telah mempelajari cara menyiapkan notifikasi dan peringatan otomatis untuk alur GitHub Actions Anda. Hal-hal utama:
- Gunakan layanan eksternal seperti Slack atau kait web untuk peringatan bagi seluruh tim.
- Aksi dari Marketplace menyederhanakan integrasi dengan layanan populer.
- Terapkan kondisi
if:(misalnya,failure()) untuk notifikasi yang terarah. - Selalu lindungi URL kait web dan token sensitif menggunakan Rahasia GitHub.
Pemberian peringatan yang efektif memastikan tim Anda tetap proaktif dalam menjaga kondisi alur!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menyiapkan Notifikasi dan Peringatan” gratis?
Ya — teks lengkap “Menyiapkan Notifikasi dan Peringatan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menyiapkan Notifikasi dan Peringatan”?
Konfigurasikan notifikasi dan peringatan otomatis untuk kegagalan, keberhasilan, atau peristiwa kritis pipeline menggunakan berbagai kanal komunikasi. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Menyiapkan Notifikasi dan Peringatan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Strategi Pemantauan Pipeline
- Mengintegrasikan Layanan Eksternal
- Menyiapkan Notifikasi dan Peringatan
- Pencatatan Terstruktur dan Pelacakan Terdistribusi