Membangun dan mengelola kontainer dengan tugas
Tugas ACR adalah serangkaian fitur dalam Azure Container Registry. Ini menyediakan pembuatan gambar kontainer berbasis cloud untuk platform termasuk Linux, Windows, dan Azure Resource Manager, dan dapat mengotomatiskan OS dan patch kerangka kerja untuk kontainer Docker Anda. Tugas Azure Container Registry memungkinkan pembangunan otomatis yang dipicu oleh pembaruan kode sumber, pembaruan ke gambar dasar kontainer, atau timer.
Skenario tugas
Tugas ACR mendukung beberapa skenario untuk membangun dan memelihara citra kontainer dan artefak lainnya.
Tugas cepat - Buat dan dorong satu citra kontainer ke registri kontainer sesuai permintaan, di Azure, tanpa memerlukan penginstalan Docker Engine lokal. Pikirkan
docker build
,docker push
di awan.Tugas yang dipicu secara otomatis - Aktifkan satu atau beberapa pemicu untuk menyusun citra:
- Pemicu pada pembaruan kode sumber
- Pemicu pada pembaruan citra dasar
- Pemicu pada jadwal
Tugas multi-langkah - Perluas kemampuan buat dan dorong citra tunggal dari Tugas ACR dengan alur kerja multi-langkah dan berbasis multi-kontainer.
Setiap Tugas ACR memiliki konteks kode sumber terkait - lokasi sekumpulan file sumber yang digunakan untuk membuat citra kontainer atau artefak lainnya. Konteks contoh termasuk repositori Git atau sistem file lokal.
Tugas cepat
Sebelum Anda menerapkan kode baris pertama Anda, fitur tugas cepat Tugas ACR dapat memberikan pengalaman pengembangan yang terintegrasi dengan menurunkan build citra kontainer Anda ke Azure. Dengan tugas cepat, Anda dapat memverifikasi definisi build otomatis dan menangkap potensi masalah sebelum melakukan kode.
Menggunakan format docker build
yang sudah dikenal, perintah az acr build di Azure CLI mengambil konteks (kumpulan file yang akan dibuat), mengirimkannya ke Tugas ACR dan, secara default, mendorong gambar yang dibuat ke registrinya setelah selesai.
Memicu tugas pada pembaruan kode sumber
Picu build gambar kontainer atau tugas multi-langkah saat kode diterapkan, atau permintaan pull dibuat atau diperbarui, ke repositori Git di GitHub atau Azure DevOps Services. Misalnya, konfigurasikan tugas pembangunan dengan perintah az acr task create
Azure CLI dengan menentukan repositori Git dan secara opsional cabang dan Dockerfile. Saat tim Anda memperbarui kode di repositori, webhook yang dibuat Tugas ACR memicu build citra kontainer yang ditentukan dalam repo.
Pemicu pada pembaruan citra dasar
Anda dapat mengatur tugas ACR untuk melacak dependensi pada citra dasar saat membuat citra aplikasi. Ketika citra dasar yang diperbarui didorong ke registri Anda, atau citra dasar diperbarui pada repo publik seperti di Docker Hub, Tugas ACR dapat secara otomatis membuat citra aplikasi berdasarkan itu.
Menjadwalkan tugas
Secara opsional menjadwalkan tugas dengan menyiapkan satu atau beberapa pemicu timer saat Anda membuat atau memperbarui tugas. Menjadwalkan tugas berguna untuk menjalankan beban kerja kontainer pada jadwal yang ditentukan, atau menjalankan pengujian atau operasi pemeliharaan pada citra yang didorong secara teratur ke registri Anda.
Tugas multi-langkah
Tugas multi-langkah, yang ditentukan dalam file YAML menentukan operasi pembangunan dan pendorongan individual untuk gambar container atau artefak lainnya. Mereka juga dapat mendefinisikan eksekusi satu atau lebih kontainer, dengan setiap langkah menggunakan kontainer sebagai lingkungan eksekusinya. Misalnya, Anda bisa membuat tugas multi-langkah yang mengotomatiskan berikut ini:
- Membuat citra aplikasi web
- Menjalankan kontainer aplikasi web
- Membuat citra uji aplikasi web
- Jalankan kontainer uji aplikasi web yang melakukan pengujian terhadap kontainer aplikasi yang sedang berjalan
- Jika pengujian lulus, buat paket arsip bagan Helm
- Lakukan
helm upgrade
menggunakan paket arsip bagan Helm baru
Platform citra
Secara default, Tugas ACR membuat citra untuk OS Linux dan arsitektur amd64. Tentukan tag --platform
untuk membuat citra Windows atau citra Linux untuk arsitektur lain. Tentukan OS dan secara opsional arsitektur yang didukung dalam format OS/arsitektur (misalnya, --platform Linux/arm
). Untuk arsitektur ARM, secara opsional tentukan varian dalam format OS/arsitektur/varian (misalnya, --platform Linux/arm64/v8
):
OS | Arsitektur |
---|---|
Linux | amd64 arm arm64 386 |
Jendela | amd64 |