Bagikan melalui


Mulai Cepat: Menyebarkan file Bicep menggunakan Tindakan GitHub

Tindakan GitHub adalah serangkaian fitur dalam GitHub untuk mengotomatiskan alur kerja otomatis pengembangan perangkat lunak Anda. Dalam mulai cepat ini, Anda menggunakan Tindakan GitHub untuk penyebaran Azure Resource Manager guna mengotomatiskan penyebaran file Bicep ke Azure.

Mulai cepat ini menyediakan pengenalan singkat tentang tindakan GitHub dan file Bicep. Jika Anda menginginkan langkah-langkah lebih rinci tentang menyiapkan tindakan dan proyek GitHub, lihat Menyebarkan sumber daya Azure dengan menggunakan Tindakan Bicep dan GitHub.

Prasyarat

Buat grup sumber daya

Buat grup sumber daya. Kemudian dalam mulai cepat ini, Anda menyebarkan file Bicep Anda ke grup sumber daya ini.

az group create -n exampleRG -l westus

Membuat info masuk penyebaran

Untuk menggunakan tindakan Azure Login dengan OIDC, Anda perlu mengonfigurasi kredensial identitas gabungan pada aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna.

Opsi 1: Aplikasi Microsoft Entra

Opsi 2: Identitas terkelola yang ditetapkan pengguna

Mengonfigurasi rahasia GitHub

Anda perlu memberikan ID Klien, ID Direktori (penyewa) aplikasi Anda, dan ID Langganan ke tindakan masuk. Nilai ini bisa disediakan secara langsung di alur kerja atau bisa disimpan di rahasia GitHub dan direferensikan dalam alur kerja Anda. Menyimpan nilai sebagai GitHub rahasia adalah opsi yang lebih aman.

  1. Di GitHub, buka repositori Anda.

  2. Pilih > Rahasia keamanan > dan variabel.

    Cuplikan layar menambahkan rahasia

  3. Pilih Rahasia repositori baru.

    Catatan

    Untuk meningkatkan keamanan alur kerja di repositori publik, gunakan rahasia lingkungan alih-alih rahasia repositori. Jika lingkungan memerlukan persetujuan, pekerjaan tidak dapat mengakses rahasia lingkungan hingga salah satu peninjau yang diperlukan menyetujuinya.

  4. Membuat rahasia untuk AZURE_CLIENT_ID, AZURE_TENANT_ID, dan AZURE_SUBSCRIPTION_ID. Salin nilai-nilai ini dari aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna untuk rahasia GitHub Anda:

    Rahasia GitHub Aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna
    AZURE_CLIENT_ID ID klien
    AZURE_SUBSCRIPTION_ID ID Langganan
    AZURE_TENANT_ID ID (tenant) direktori

    Catatan

    Untuk alasan keamanan, sebaiknya gunakan Rahasia GitHub daripada meneruskan nilai langsung ke alur kerja.

Menambahkan file Bicep

Tambahkan file Bicep ke repositori GitHub Anda. File Bicep berikut membuat akun penyimpanan:

@minLength(3)
@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_RAGRS'
  'Standard_ZRS'
  'Premium_LRS'
  'Premium_ZRS'
  'Standard_GZRS'
  'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'

param location string = resourceGroup().location

var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'

resource stg 'Microsoft.Storage/storageAccounts@2025-06-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

File Bicep mengambil satu parameter yang disebut storagePrefix dengan 3 hingga 11 karakter.

Anda dapat meletakkan file di mana saja di repositori. Sampel alur kerja di bagian berikutnya mengasumsikan file Bicep diberi nama main.bicep, dan disimpan di akar repositori Anda.

Membuat alur kerja

Alur kerja menentukan langkah-langkah untuk dijalankan saat dipicu. Alur kerja ini merupakan file YAML (.yml) di jalur .github/workflows/ dari repositori Anda. Ekstensi file alur kerja dapat berupa .yml atau .yaml.

Untuk membuat alur kerja, lakukan langkah-langkah berikut:

  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: deployBicepFile.yml.

  5. Ganti konten file yml dengan kode berikut:

    on: [push]
    name: Azure ARM
    permissions:
      id-token: write
      contents: read
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
    
          # Checkout code
        - uses: actions/checkout@main
    
          # Log into Azure
        - uses: azure/login@v2
          with:
            client-id: ${{ secrets.AZURE_CLIENT_ID }}
            tenant-id: ${{ secrets.AZURE_TENANT_ID }}
            subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
    
          # Deploy Bicep file
        - name: deploy
          uses: azure/arm-deploy@v1
          with:
            subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
            resourceGroupName: ${{ secrets.AZURE_RG }}
            template: ./main.bicep
            parameters: 'storagePrefix=mystore storageSKU=Standard_LRS'
            failOnStdErr: false
    
  6. Pilih Terapkan perubahan.

  7. Pilih Penerapan langsung ke cabang utama.

  8. Pilih Penerapan file baru (atau Penerapan perubahan).

Memperbarui file alur kerja atau file Bicep akan memicu alur kerja. Alur kerja dimulai tepat setelah Anda melakukan perubahan.

Periksa status alur kerja

  1. Pilih tab Tindakan . Anda melihat alur kerja Buat deployBicepFile.yml tercantum. Dibutuhkan 1-2 menit untuk menjalankan alur kerja.
  2. Pilih alur kerja untuk membukanya, dan verifikasi Status adalah Success.

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.

az group delete --name exampleRG

Langkah berikutnya