Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah webhook
Masalah: Webhook yang Anda atur tidak Tutorial: Mengkonfigurasi pelari CodeBuild-hosted GitHub Actions berfungsi atau pekerjaan alur kerja Anda bertahan. GitHub
Kemungkinan penyebab:
-
A cara pekerjaan alur kerja webhook Anda mungkin gagal memicu build. Tinjau log Respon untuk melihat respons atau pesan kesalahan.
-
Pekerjaan Anda ditugaskan ke agen pelari yang salah karena konfigurasi labelnya. Masalah ini dapat terjadi ketika salah satu pekerjaan Anda dalam satu alur kerja yang dijalankan memiliki label yang lebih sedikit daripada pekerjaan lain. Misalnya, jika Anda memiliki dua pekerjaan dengan label berikut dalam alur kerja yang sama, jalankan:
-
Pekerjaan 1:
codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} -
Pekerjaan 2:
codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }},instance-size:medium
Saat merutekan pekerjaan Ac GitHub tions yang di-host sendiri, GitHub akan merutekan pekerjaan ke pelari mana pun dengan semua label pekerjaan yang ditentukan. Perilaku ini berarti bahwa Pekerjaan 1 dapat diambil oleh pelari yang dibuat untuk Pekerjaan 1 atau Pekerjaan 2, tetapi Pekerjaan 2 hanya dapat diambil oleh pelari yang dibuat untuk Pekerjaan 2 karena memiliki label tambahan. Jika Job 1 diambil oleh pelari yang dibuat untuk Job 2, maka Job 2 akan macet karena pelari Job 1 tidak memiliki
instance-size:mediumlabel. -
Solusi yang disarankan:
Saat membuat beberapa pekerjaan dalam alur kerja yang sama, gunakan jumlah penggantian label yang sama untuk setiap pekerjaan atau tetapkan label khusus untuk setiap pekerjaan, seperti job1 ataujob2.
Menetapkan setiap pekerjaan label khusus uniknya sendiri adalah opsi yang paling dapat diandalkan. Ini memastikan bahwa tidak ada set label pekerjaan yang merupakan bagian dari pekerjaan lain. Ketika setiap pekerjaan membawa label yang tidak dimiliki pekerjaan lain, GitHub cocokkan setiap pekerjaan hanya dengan pelari yang dibuat untuknya, terlepas dari berapa banyak penggantian lain yang digunakan setiap pekerjaan. Dalam alur kerja berikut, setiap pekerjaan memiliki label unik (job1danjob2). Meskipun Job 2 memiliki penggantian tambahaninstance-size:medium, Pekerjaan 1 tidak dapat lagi dicocokkan dengan runner yang dibuat untuk Job 2, jadi tidak ada pekerjaan yang macet:
name: Hello World on: [push] jobs: job1: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - job1 steps: - run: echo "Hello from Job 1!" job2: runs-on: - codebuild-myProject-${{ github.run_id }}-${{ github.run_attempt }} - instance-size:medium - job2 steps: - run: echo "Hello from Job 2!"
Jika kesalahan berlanjut, gunakan petunjuk berikut untuk men-debug masalah.
-
Buka GitHub konsol di
https://github.com/untuk melihat pengaturan webhook repositori Anda. Pada halaman ini, Anda akan melihat webhook yang dibuat untuk repositori Anda.user-name/repository-name/settings/hooks -
Pilih Edit dan konfirmasikan bahwa webhook diaktifkan untuk mengirimkan acara pekerjaan alur kerja.
-
Arahkan ke tab Pengiriman Terbaru, temukan
workflow_job.queuedacara yang sesuai, dan perluas acara. -
Tinjau bidang label di Payload dan pastikan itu seperti yang diharapkan.
-
Terakhir, tinj au tab Respon, karena ini berisi respons atau pesan kesalahan yang dikembalikan dari CodeBuild.
-
Atau, Anda dapat men-debug kegagalan webhook menggunakan API GitHub. Anda dapat melihat pengiriman terbaru untuk webhook menggunakan Daftar pengiriman untuk repositori webhook API:
gh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/owner/repo/hooks/hook-id/deliveriesSetelah menemukan pengiriman webhook yang ingin Anda debug dan mencatat ID pengiriman, Anda dapat menggunakan API web hook
Dapatkan pengiriman untuk repositori. CodeBuildtanggapan terhadap payload pengiriman webhook dapat ditemukan di bagian: responsegh api \ -H "Accept: application/vnd.github+json" \ -H "X-GitHub-Api-Version: 2022-11-28" \ /repos/owner/repo/hooks/hook-id/deliveries/delivery-id
Masalah: T ind GitHub akan Anda dengan aturan perlindungan
Kemungkinan penyebab CodeBuild : mengambil penerapan dan lingkungan yang terkait dengan pekerjaan GitHub Tindakan jika ada untuk memverifikasi apakah penerapan disetujui. Jika CodeBuild gagal mengambil penerapan atau lingkungan, CodeBuild build mungkin dipicu sebelum waktunya.
Solusi yang disarankan: Pastikan kredenSIAL yang terkait dengan CodeBuild proyek Anda memiliki izin baca untuk penerapan dan tindakan di dalamnya. GitHub