Mem-build dan mendorong citra Docker ke Azure Container Registry menggunakan templat Docker

Azure DevOps

Dalam tutorial langkah demi langkah ini, Anda akan mempelajari cara menyiapkan alur integrasi berkelanjutan untuk membangun aplikasi kontainer. Permintaan pull baru memicu alur untuk membangun dan menerbitkan gambar Docker ke Azure Container Registry.

Prasyarat

  • Akun GitHub. Buat akun GitHub gratis, jika Anda belum memilikinya.

  • Organisasi Azure DevOps dan proyek. Buat organisasi baru dan/atau proyek baru, jika Anda belum memilikinya.

  • Akun Azure. Daftar untuk akun Azure gratis, jika Anda belum memilikinya.

Mendapatkan kode

Fork atau kloning aplikasi sampel pipeline-javascript-docker :

https://github.com/MicrosoftDocs/pipelines-javascript-docker

Membuat registri kontainer

  1. Masuk ke Azure, lalu pilih tombol Azure Cloud Shell di sudut kanan atas.

    Azure Cloud Shell button

  2. Jalankan perintah berikut untuk membuat grup sumber daya dan Azure Container Registry menggunakan Azure CLI.

    # Create a resource group
    az group create --name myapp-rg --location eastus
    
    # Create a container registry
    az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
    

Catatan

Nama Container Registry harus huruf kecil.

Anda juga dapat menggunakan antarmuka pengguna web portal Azure untuk membuat Azure Container Registry Anda. Lihat Membuat registri kontainer untuk detailnya.

Penting

Anda harus mengaktifkan akun pengguna admin agar Anda dapat menyebarkan gambar Docker dari Azure Container Registry. Lihat Autentikasi registri kontainer untuk detail selengkapnya.

Membuat alur

  1. Masuk ke organisasi Azure DevOps Anda dan arahkan ke proyek Anda.

  2. Pilih Alur, lalu pilih Alur Baru untuk membuat alur baru.

    Create a new pipeline

  3. Pilih GitHub YAML, lalu pilih Otorisasi Alur Azure untuk memberikan izin yang sesuai untuk mengakses repositori Anda.

  4. Anda mungkin diminta untuk masuk ke GitHub. Jika demikian, masukkan kredensial GitHub Anda, lalu pilih repositori Anda dari daftar repositori.

  5. Dari tab Konfigurasi , pilih tugas Docker - Build dan dorong gambar ke Azure Container Registry .

    Build and push Docker images to Azure Container Registry

  6. Pilih Langganan Azure Anda, lalu pilih Lanjutkan.

  7. Pilih registri Kontainer Anda dari menu dropdown, lalu berikan Nama Gambar ke gambar kontainer Anda.

  8. Pilih Validasi dan konfigurasikan saat Anda selesai.

    A screenshot showing how to configure a docker pipeline to build and publish an image to Azure Container Registry

    Saat Azure Pipelines membuat alur Anda, alur akan:

    • Buat koneksi layanan registri Docker untuk memungkinkan alur Anda mendorong gambar ke registri kontainer Anda.

    • Buat file azure-pipelines.yml, yang menentukan alur Anda.

  9. Tinjau YAML alur Anda, lalu pilih Simpan dan jalankan saat Anda siap.

    Review your pipeline, save & run

  10. Tambahkan pesan Penerapan, lalu pilih Simpan dan jalankan untuk menerapkan perubahan Anda dan menjalankan alur Anda.

  11. Saat alur Anda berjalan, pilih pekerjaan build untuk menonton alur Anda beraksi.

    Monitor builds

Cara kami membangun alur Anda

Alur yang baru saja kita buat di bagian sebelumnya dihasilkan dari YAML templat kontainer Docker. Tahap build menggunakan tugasDocker@2 Docker untuk membangun dan mendorong gambar Docker Anda ke registri kontainer.

- 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

Jika Anda tidak akan terus menggunakan aplikasi ini, Anda dapat menghapus sumber daya yang Anda buat dalam tutorial ini untuk menghindari dikenakan biaya yang sedang berlangsung. Jalankan yang berikut ini untuk menghapus grup sumber daya Anda.

az group delete --name myapp-rg