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
Akun Azure dengan langganan aktif. Buat akun secara gratis.
Akun GitHub. Jika Anda belum memilikinya, daftar gratis.
- Repositori GitHub untuk menyimpan templat Resource Manager dan file alur kerja Anda. Untuk membuatnya, lihat Membuat repositori baru.
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
Di GitHub, buka repositori Anda.
Buka Pengaturan di menu navigasi.
Pilih Tindakan Rahasia keamanan > dan variabel>.
Pilih Rahasia repositori baru.
Tempelkan seluruh output JSON dari perintah CLI Azure ke bidang nilai rahasia. Namai rahasia sebagai
AZURE_CREDENTIALS
.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.
- Dari repositori GitHub Anda, pilih Tindakan dari menu atas.
- Pilih Alur kerja baru.
- Pilih Siapkan alur kerja Anda sendiri.
- Ganti nama file alur kerja jika Anda lebih suka nama yang berbeda selain main.yml. Misalnya: deployStorageAccount.yml.
- 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.
- Pilih Mulai terapkan.
- Pilih Penerapan langsung ke cabang utama.
- 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
- Pilih tab Tindakan. Anda akan melihat alur kerja Buat deployStorageAccount.yml yang tercantum. Dibutuhkan 1-2 menit untuk menjalankan alur kerja.
- Pilih alur kerja untuk membukanya.
- 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.