Menyebarkan templat ARM dengan menggunakan Tindakan GitHub

Tindakan GitHub adalah serangkaian fitur di GitHub untuk mengotomatiskan alur kerja pengembangan perangkat lunak Anda di tempat yang sama Anda menyimpan kode dan berkolaborasi terhadap permintaan pull dan masalah.

Gunakan Tindakan Templat Deploy Azure Resource Manager untuk mengotomatisasi penggunaan templat Azure Resource Manager (templat ARM) ke Azure.

Prasyarat

Gambaran umum file alur kerja

Sebuah alur kerja ditentukan oleh file YAML (.yml) pada jalur /.github/workflows/ di dalam repositori Anda. Definisi ini berisi berbagai langkah dan parameter yang membentuk alur kerja.

File memiliki dua bagian:

Bagian Tugas
Autentikasi 1. Buat info masuk penyebaran.
Sebarkan 1. Sebarkan templat Resource Manager.

Membuat info masuk penyebaran

Buatlah perwakilan layanan dengan perintah az ad sp create-for-rbac di Azure CLI. Jalankan perintah ini dengan Azure Cloud Shell di portal Microsoft Azure atau dengan memilih tombol Coba.

az ad sp create-for-rbac --name "myML" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
                            --json-auth

Parameter --json-auth tersedia dalam versi >Azure CLI = 2.51.0. Versi sebelum penggunaan --sdk-auth ini dengan peringatan penghentian.

Pada contoh di atas, ganti tempat penampung dengan ID langganan, nama grup sumber daya, dan nama aplikasi Anda. Output adalah objek JSON dengan kredensial penetapan peran yang menyediakan akses ke App Service yang serupa di bawah ini. Salin objek JSON ini untuk nanti.

  {
    "clientId": "<GUID>",
    "clientSecret": "<GUID>",
    "subscriptionId": "<GUID>",
    "tenantId": "<GUID>",
    (...)
  }

Mengonfigurasi rahasia GitHub

  1. Di GitHub, buka repositori Anda.

  2. Buka Pengaturan di menu navigasi.

  3. Pilih Tindakan Rahasia keamanan > dan variabel>.

    Screenshot of adding a secret

  4. Pilih Rahasia repositori baru.

  5. Tempelkan seluruh output JSON dari perintah CLI Azure ke bidang nilai rahasia. Namai rahasia sebagai AZURE_CREDENTIALS.

  6. Pilih Tambahkan rahasia.

Gunakan template Resource Manager

Tambahkan templat Resource Manager ke repositori GitHub Anda. Templat ini membuat akun penyimpanan.

https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json

Anda dapat meletakkan file di mana saja di repositori. Sampel alur kerja di bagian berikutnya mengasumsikan file templatazuredeploy.jspada, dan disimpan di akar repositori Anda.

Membuat alur kerja

File alur kerja harus disimpan di folder .github/workflows di akar repositori Anda. Ekstensi file alur kerja dapat berupa .yml atau .yaml.

  1. Dari repositori GitHub Anda, pilih Tindakan dari menu atas.
  2. Pilih Alur kerja baru.
  3. Pilih Siapkan alur kerja Anda sendiri.
  4. Ganti nama file alur kerja jika Anda lebih suka nama yang berbeda selain main.yml. Misalnya: deployStorageAccount.yml.
  5. Ganti isi file ini dengan kode berikut:
  on: [push]
  name: Azure ARM
  jobs:
    build-and-deploy:
      runs-on: ubuntu-latest
      steps:

        # Checkout code
      - uses: actions/checkout@main

        # Log into Azure
      - uses: azure/login@v1
        with:
          creds: ${{ secrets.AZURE_CREDENTIALS }}

        # Deploy ARM template
      - name: Run ARM deploy
        uses: azure/arm-deploy@v1
        with:
          subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
          resourceGroupName: ${{ secrets.AZURE_RG }}
          template: ./azuredeploy.json
          parameters: storageAccountType=Standard_LRS

        # output containerName variable from template
      - run: echo ${{ steps.deploy.outputs.containerName }}

Catatan

Anda dapat menentukan file parameter format JSON sebagai gantinya dalam tindakan Penyebaran ARM (misalnya: .azuredeploy.parameters.json).

Bagian pertama dari file alur kerja meliputi:

  • nama: Nama alur kerja.
  • pada: Nama peristiwa GitHub yang memicu alur kerja. Alur kerja dipicu ketika ada peristiwa push di cabang utama, yang memodifikasi setidaknya satu dari dua file yang ditentukan. Dua file adalah file alur kerja dan file templat.
  1. Pilih Mulai terapkan.
  2. Pilih Penerapan langsung ke cabang utama.
  3. Pilih Penerapan file baru (atau Penerapan perubahan).

Karena alur kerja dikonfigurasi untuk dipicu oleh file alur kerja atau file templat yang sedang diperbarui, alur kerja dimulai tepat setelah Anda melakukan perubahan.

Periksa status alur kerja

  1. Pilih tab Tindakan. Anda akan melihat alur kerja Buat deployStorageAccount.yml yang tercantum. Dibutuhkan 1-2 menit untuk menjalankan alur kerja.
  2. Pilih alur kerja untuk membukanya.
  3. Pilih Jalankan penyebaran ARM dari menu untuk memverifikasi penyebaran.

Membersihkan sumber daya

Saat grup sumber daya Anda tidak lagi diperlukan, hapus sumber daya yang Anda sebarkan dengan menghapus grup sumber daya dan repositori GitHub Anda.

Langkah berikutnya