Mengintegrasikan Layanan Eksternal
Hubungkan alur kerja GitHub Actions Anda dengan alat pemantauan, pencatatan, dan pengelolaan insiden pihak ketiga.
Mengintegrasikan Layanan Eksternal adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 2 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.
Hubungkan Alur Kerja Anda
Selamat datang di materi tentang mengintegrasikan GitHub Actions dengan layanan eksternal! Pengembangan perangkat lunak modern mengandalkan banyak alat yang bekerja bersama.
Menghubungkan alur CI/CD Anda ke alat-alat tersebut membantu mengotomatiskan komunikasi, memusatkan data, dan meningkatkan efisiensi tim secara keseluruhan.
- Notifikasi: Dapatkan peringatan di Slack atau Teams.
- Pelacakan Masalah: Buat tiket JIRA secara otomatis.
- Pemantauan: Kirim data ke Datadog atau Splunk.
Webhook: Tautan Dasar
Banyak layanan eksternal menggunakan pengait web sebagai cara utama untuk menerima informasi. Anggaplah pengait web sebagai pesan otomatis yang dikirim dari satu aplikasi ke aplikasi lain ketika peristiwa tertentu terjadi.
Ketika alur kerja GitHub Actions selesai, gagal, atau menjalankan langkah tertentu, alur tersebut dapat mengirimkan permintaan POST berisi data ke alamat pengait web yang disediakan oleh layanan eksternal. Hal ini memicu suatu tindakan di layanan tersebut.
Slack: Peringatan Waktu Nyata
Menerima notifikasi waktu nyata tentang status alur kerja sangat penting. Slack adalah alat yang sangat umum digunakan untuk keperluan ini.
Untuk mengirim pesan ke Slack dari GitHub Actions, biasanya Anda memerlukan URL Pengait Web Masuk Slack. Anda dapat membuat URL ini dari pengaturan ruang kerja Slack, misalnya di bagian 'Aplikasi & integrasi'.
Penting: Selalu simpan URL sensitif ini sebagai Rahasia GitHub, jangan pernah menuliskannya langsung di dalam kode!
Alur Kerja untuk Peringatan Slack
Berikut cara mengirim notifikasi Slack dasar menggunakan perintah curl sederhana dalam alur kerja Anda. Contoh ini menggunakan alamat pengait web yang disimpan dalam rahasia bernama SLACK_WEBHOOK_URL.
Contoh ini mengirimkan notifikasi setiap kali kode dikirimkan ke main.
name: Slack Notification Demo
on:
push:
branches:
- main
jobs:
notify:
runs-on: ubuntu-latest
steps:
- name: Send Slack Notification
run: |
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"GitHub Actions workflow *${{ github.workflow }}* for commit `{{ github.sha }}` by _${{ github.actor }}_ on branch `${{ github.ref_name }}` has completed!"}' \
${{ secrets.SLACK_WEBHOOK_URL }}Sederhanakan dengan Tindakan Marketplace
Meskipun curl dapat digunakan, banyak integrasi menjadi lebih sederhana dengan memakai Tindakan Marketplace GitHub yang telah dibuat sebelumnya. Tindakan ini merangkum logika untuk berinteraksi dengan layanan tertentu, sehingga alur kerja Anda lebih rapi dan mudah dibaca.
Anda dapat mencari tindakan yang terhubung ke layanan yang diinginkan di Marketplace GitHub. Misalnya, tersedia banyak tindakan untuk Slack, JIRA, Microsoft Teams, dan layanan lainnya.
JIRA: Otomatiskan Pelacakan Masalah
Mengintegrasikan sistem pelacakan masalah seperti JIRA dapat mengotomatiskan tugas-tugas berikut:
- Membuat tiket masalah baru ketika alur kerja gagal.
- Menambahkan komentar ke masalah yang sudah ada berdasarkan peristiwa permintaan perubahan.
- Memperbarui status masalah saat kode bergerak melalui alur kerja.
Hal ini membantu tim pengembangan dan operasional tetap selaras tanpa campur tangan manual.
Alur Kerja untuk Masalah JIRA
Contoh ini menggunakan Tindakan Marketplace yang populer untuk membuat masalah JIRA jika alur kerja tertentu, misalnya alur kerja CI Anda, gagal. Perhatikan bahwa contoh ini menggunakan Rahasia GitHub untuk autentikasi.
Pemicu workflow_run memungkinkan alur kerja ini merespons penyelesaian alur kerja lain.
name: JIRA Issue on Failed Workflow
on:
workflow_run:
workflows: ["Your CI Workflow Name Here"]
types:
- completed
jobs:
create_issue:
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
runs-on: ubuntu-latest
steps:
- name: Create JIRA Bug Ticket
uses: atlassian/github-jira-action@v2.1.0
with:
jira-base-url: ${{ secrets.JIRA_BASE_URL }}
jira-user-email: ${{ secrets.JIRA_USER_EMAIL }}
jira-api-token: ${{ secrets.JIRA_API_TOKEN }}
project: 'DEV'
issue-type: 'Bug'
summary: 'Workflow failed: ${{ github.event.workflow_run.workflow_name }}'
description: 'Workflow run URL: ${{ github.event.workflow_run.html_url }}\nFailed commit: ${{ github.event.workflow_run.head_sha }}'Hubungkan ke Pemantauan dan Catatan
Selain notifikasi dan pelacakan masalah, Anda dapat mengintegrasikan alat pemantauan dan pencatatan lanjutan seperti Datadog, Splunk, New Relic, atau pengumpul catatan khusus.
- Metrik: Kirim metrik khusus tentang waktu pembangunan atau hasil pengujian.
- Catatan: Teruskan catatan alur kerja untuk analisis terpusat.
- Pelacakan: Hubungkan peristiwa penerapan dengan kinerja aplikasi.
Integrasi ini sering kali melibatkan antarmuka pemrograman aplikasi tertentu atau Tindakan Marketplace khusus yang disediakan oleh vendor alat tersebut.
Amankan Integrasi Anda
Saat mengintegrasikan layanan eksternal, keamanan adalah hal yang sangat penting. Anda sering kali akan menangani kunci antarmuka pemrograman aplikasi, token, dan alamat pengait web yang memberikan akses ke akun eksternal Anda.
Selalu gunakan Rahasia GitHub untuk menyimpan kredensial sensitif ini. Jangan pernah menuliskannya langsung di dalam berkas alur kerja Anda. Dengan demikian, Anda dapat mencegah kebocoran yang tidak disengaja dan menjaga keamanan kredensial Anda.
Pemeriksaan Singkat: Keamanan Integrasi
Anda perlu menghubungkan alur kerja GitHub Actions ke sistem manajemen insiden eksternal menggunakan kunci antarmuka pemrograman aplikasi. Metode apa yang paling aman dan direkomendasikan untuk menangani kunci tersebut dalam alur kerja Anda?
Rangkuman: Alur Kerja Terintegrasi
Anda telah mempelajari cara mengintegrasikan alur kerja GitHub Actions dengan berbagai layanan eksternal!
- Pengait web adalah mekanisme umum untuk koneksi ini.
- Slack dan JIRA adalah contoh populer untuk notifikasi dan pelacakan masalah.
- Tindakan Marketplace GitHub menyederhanakan integrasi yang rumit.
- Selalu gunakan Rahasia GitHub untuk mengelola kredensial sensitif seperti kunci antarmuka pemrograman aplikasi dan alamat pengait web dengan aman.
Integrasi ini membuat alur CI/CD Anda lebih kuat dan lebih terhubung dengan ekosistem tim Anda yang lebih luas.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengintegrasikan Layanan Eksternal” gratis?
Ya — teks lengkap “Mengintegrasikan Layanan Eksternal” 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 “Mengintegrasikan Layanan Eksternal”?
Hubungkan alur kerja GitHub Actions Anda dengan alat pemantauan, pencatatan, dan pengelolaan insiden pihak ketiga. 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 2 dari 4.
Berapa lama pelajaran “Mengintegrasikan Layanan Eksternal” 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