Menggunakan webhook Azure Container Registry

Registri kontainer Azure menyimpan dan mengelola gambar kontainer Docker pribadi, mirip dengan cara Docker Hub menyimpan gambar Docker publik. Ini juga dapat meng-host repositori untuk chart Helm (pratinjau), format paket untuk menyebarkan aplikasi ke Kubernetes. Anda dapat menggunakan webhook untuk memicu peristiwa ketika tindakan tertentu terjadi di salah satu repositori registri Anda. Webhook dapat menanggapi peristiwa di tingkat registri, atau mereka dapat tercakup ke tag repositori tertentu. Dengan registri geo-direplikasi, Anda mengkonfigurasi setiap webhook untuk menanggapi peristiwa dalam replika regional tertentu.

Titik akhir webhook harus dapat diakses secara publik dari registri. Anda dapat mengkonfigurasi permintaan webhook registri untuk mengautentikasi ke titik akhir yang aman.

Untuk detail tentang permintaan webhook, lihat Referensi skema webhook Azure Container Registry.

Prasyarat

Membuat webhook - Portal Microsoft Azure

  1. Masuk ke portal Microsoft Azure.
  2. Navigasi ke registri kontainer tempat Anda ingin membuat webhook.
  3. Pada Layanan, pilih Webhook.
  4. Pilih Tambahkan di toolbar webhook.
  5. Lengkapi Formulir pembuatan webhook dengan informasi berikut ini:
Nilai Deskripsi
Nama webhook Nama yang ingin Anda berikan ke webhook. Nama webhook hanya berisi huruf dan angka, dan panjangnya harus 5-50 karakter.
Lokasi Untuk registri yang direplikasi secara geografis, tentukan wilayah Azure dari replika registri.
URI Layanan URI tempat webhook harus mengirim notifikasi POST.
Header kustom Header yang ingin Anda berikan bersama dengan permintaan POST. Header harus dalam format "kunci: nilai".
Memicu tindakan Tindakan yang memicu webhook. Tindakan ini termasuk pendorongan gambar, penghapusan gambar, pendorongan bagan Helm, penghapusan bagan Helm, dan karantina gambar. Anda dapat memilih satu atau beberapa tindakan untuk memicu webhook.
Status Status webhook setelah dibuat. Status diaktifkan secara default.
Cakupan Ruang lingkup tempat webhook bekerja. Jika tidak ditentukan, cakupannya adalah untuk semua peristiwa dalam registri. Ini dapat ditentukan untuk repositori atau tag dengan menggunakan format "repositori:tag", atau "repositori:*" untuk semua tag dalam sebuah repositori.

Contoh formulir webhook:

Cuplikan layar yang menunjukkan UI pembuatan webhook ACR di portal Microsoft Azure.

Membuat webhook - Portal Microsoft Azure

Untuk membuat webhook menggunakan Azure CLI, gunakan perintah buat webhook az acr. Perintah berikut akan membuat webhook untuk semua peristiwa penghapusan gambar di registri mycontainerregistry:

az acr webhook create --registry mycontainerregistry --name myacrwebhook01 --actions delete --uri http://webhookuri.com

Menguji Webhook

portal Microsoft Azure

Sebelum menggunakan webhook, Anda dapat mengujinya dengan tombol Ping. Ping mengirimkan permintaan POST generik ke titik akhir yang ditentukan dan mencatat responsnya. Menggunakan fitur ping dapat membantu Anda memverifikasi bahwa Anda telah mengkonfigurasi webhook dengan benar.

  1. Pilih webhook yang ingin Anda uji.
  2. Di toolbar atas, pilih Ping.
  3. Periksa respons titik akhir di kolom STATUS HTTP.

UI pembuatan webhook ACR di portal Microsoft Azure

Azure CLI

Untuk menguji webhook ACR dengan Azure CLI, gunakan perintah ping webhook az acr.

az acr webhook ping --registry mycontainerregistry --name myacrwebhook01

Untuk melihat hasilnya, gunakan perintah daftar peristiwa webhook az acr.

az acr webhook list-events --registry mycontainerregistry08 --name myacrwebhook01

Hapus webhook

portal Microsoft Azure

Setiap webhook dapat dihapus dengan memilih webhook lalu tombol Hapus di portal Microsoft Azure.

Azure CLI

az acr webhook delete --registry mycontainerregistry --name myacrwebhook01

Langkah berikutnya

Referensi skema webhook

Untuk detail tentang format dan properti payload peristiwa JSON yang dikeluarkan oleh Azure Container Registry, lihat referensi skema webhook:

Referensi skema webhook Azure Container Registry

Peristiwa Azure Event Grid

Selain peristiwa webhook registri asli yang dibahas dalam artikel ini, Azure Container Registry dapat mengeluarkan peristiwa ke Azure Event Grid:

Mulai cepat: Mengirim peristiwa registri kontainer ke Azure Event Grid