Membangun dan mengelola kontainer dengan tugas

Selesai

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:

  1. Membuat citra aplikasi web
  2. Menjalankan kontainer aplikasi web
  3. Membuat citra uji aplikasi web
  4. Jalankan kontainer uji aplikasi web yang melakukan pengujian terhadap kontainer aplikasi yang sedang berjalan
  5. Jika pengujian lulus, buat paket arsip bagan Helm
  6. 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