Bagikan melalui


Menggunakan Docker YAML untuk membangun dan mendorong gambar Docker ke Azure Container Registry

Azure DevOps

Tutorial ini menunjukkan kepada Anda cara menggunakan alur berdasarkan templat Azure Pipelines Docker untuk membangun aplikasi kontainer dan mendorongnya ke Azure Container Registry. Templat menyiapkan alur YAML integrasi berkelanjutan di mana perubahan repositori kode baru memicu alur untuk membangun dan menerbitkan gambar Docker yang diperbarui ke registri.

Alur templat kontainer Docker menggunakan agen yang dihosting Microsoft dan membuat koneksi layanan berbasis perwakilan layanan ke Azure Container Registry. Untuk alur yang melakukan proses serupa dengan menggunakan agen yang dihost sendiri dan koneksi layanan yang Anda buat sendiri, lihat Membangun dan mendorong gambar Docker ke Azure Container Registry.

Prasyarat

  • Akun Azure tempat Anda memiliki izin untuk membuat dan mengonfigurasi sumber daya. Jika Anda tidak memiliki akun Azure, daftar untuk akun gratis.

  • Organisasi dan proyek Azure DevOps tempat Anda memiliki izin untuk membuat alur dan menyebarkan aplikasi. Untuk membuat organisasi atau proyek, lihat Membuat organisasi baru atau Membuat proyek di Azure DevOps.

  • Akun GitHub.

    Penting

    Saat Anda menggunakan GitHub dalam prosedur berikut, Anda mungkin diminta untuk membuat koneksi layanan GitHub, masuk ke GitHub, mengautentikasi ke organisasi GitHub, menginstal Azure Pipelines, atau mengotorisasi Azure Pipelines. Ikuti instruksi di layar untuk menyelesaikan proses. Untuk informasi selengkapnya, lihat Akses ke repositori GitHub.

Mendapatkan aplikasi sampel

Di GitHub, fork atau kloning repositori aplikasi Sample Docker dan Kubernetes Node.JS.

Membuat registri kontainer

  1. Dari portal Azure, masuk ke Azure Cloud Shell dengan memilih ikon di bilah menu atas. Pastikan untuk menggunakan shell Bash .

    Tombol Azure Cloud Shell

  2. Di Cloud Shell, jalankan perintah berikut untuk membuat grup sumber daya dan registri kontainer Azure dengan menggunakan Azure CLI. Nama Container Registry harus huruf kecil.

    az group create --name myapp-rg --location eastus
    az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
    
  3. Untuk menyebarkan gambar Docker ke registri kontainer Azure, Anda harus mengaktifkan akun pengguna admin untuk registri, yang dinonaktifkan secara default. Untuk mengaktifkan pengguna admin untuk registri Anda, gunakan --admin-enabled parameter dengan az acr update perintah . Untuk informasi dan instruksi selengkapnya, lihat Akun admin.

    az acr update -n <acrName> --admin-enabled true
    

Atau, Anda dapat menggunakan UI portal Azure untuk membuat registri kontainer Azure Anda. Untuk petunjuknya, lihat Membuat registri kontainer. Aktifkan akun admin di Properti setelah Anda membuat registri.

Membuat alur

  1. Dalam proyek Azure DevOps Anda, pilih Alur Alur> baru, atau Buat alur jika alur ini adalah yang pertama dalam proyek.

    Cuplikan layar yang memperlihatkan layar Buat alur baru.

  2. Pilih GitHub sebagai lokasi kode sumber Anda.

  3. Pada layar Pilih repositori, pilih repositori kode sampel Anda.

  4. Pada layar Konfigurasikan alur Anda, pilih Docker: Bangun dan dorong gambar ke alur Azure Container Registry.

    Cuplikan layar yang memperlihatkan gambar Build dan dorong Docker ke pemilihan alur Azure Container Registry.

  5. Pada layar Docker, pilih langganan Azure Anda lalu pilih Lanjutkan.

  6. Pilih registri Kontainer Anda dari menu dropdown, berikan Nama Gambar, lalu pilih Validasi dan konfigurasikan.

    Cuplikan layar memperlihatkan cara mengonfigurasi alur Docker untuk membangun dan menerbitkan gambar ke Azure Container Registry.

    Azure Pipelines menghasilkan file azure-pipelines.yml yang menentukan alur Anda.

  7. Tinjau kode di azure-pipelines.yml, lalu pilih Simpan dan jalankan.

    Cuplikan layar tombol Simpan dan jalankan di alur YAML baru.

  8. Secara opsional edit pesan Terapkan dan berikan deskripsi. Lalu pilih Simpan dan jalankan lagi untuk menerapkan file azure-pipelines.yml ke repositori Anda dan memulai build.

  9. Halaman eksekusi build menunjukkan detail dan kemajuan build. Untuk menonton alur Anda beraksi, pilih Bangun di bawah Pekerjaan.

    Cuplikan layar yang memperlihatkan tautan Build pada halaman eksekusi pekerjaan.

Detail alur

Alur dihasilkan dari templat kontainer Docker. Tahap build menggunakan tugas Docker v2 untuk membangun dan mendorong gambar Docker Anda ke registri kontainer.

Tugas Docker menggunakan koneksi layanan registri Docker dengan autentikasi perwakilan layanan untuk memungkinkan alur Anda mendorong gambar ke registri kontainer Anda. Templat kontainer Docker menghasilkan koneksi layanan ini saat membuat alur.

- stage: Build
  displayName: Build and push stage
  jobs:  
  - job: Build
    displayName: Build job
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: Docker@2
      displayName: Build and push an image to container registry
      inputs:
        command: buildAndPush
        repository: $(imageRepository)
        dockerfile: $(dockerfilePath)
        containerRegistry: $(dockerRegistryServiceConnection)
        tags: |
          $(tag)

Membersihkan sumber daya

Setelah selesai menggunakan sumber daya yang Anda buat dalam tutorial ini, Anda dapat menghapusnya untuk menghindari dikenakan biaya lebih lanjut. Jalankan perintah Cloud Shell berikut untuk menghapus grup sumber daya Anda dan semua sumber daya di dalamnya.

az group delete --name myapp-rg