hızlı başlangıç: GitHub eylemleri kullanarak bıcep dosyalarını dağıtma

GitHub eylemler , yazılım geliştirme iş akışlarınızı otomatik hale getirmek için GitHub bir özellik paketidir.

bu hızlı başlangıçta, bir bicep dosyasını Azure 'a dağıtmayı otomatikleştirmek için Azure Resource Manager dağıtımı için GitHub eylemini kullanırsınız.

GitHub eylemlerine ve bicep dosyalarına kısa bir giriş sağlar. GitHub eylemlerini ve projeyi ayarlama hakkında daha ayrıntılı adımlar isterseniz, bkz. Learning yol: bıcep ve GitHub eylemleri kullanarak Azure kaynaklarını dağıtma.

Önkoşullar

Kaynak grubu oluşturma

Bir kaynak grubu oluşturun. Bu hızlı başlangıçta, Bıcep dosyanızı bu kaynak grubuna dağıtırsınız.

az group create -n exampleRG -l westus

Dağıtım kimlik bilgileri oluştur

GitHub eyleminiz bir kimlik altında çalışır. Kimlik için bir hizmet sorumlusu oluşturmak için az ad SP Create-for-RBAC komutunu kullanın.

Yer tutucusunu myApp uygulamanızın adıyla değiştirin. {subscription-id}ABONELIK Kimliğinizle değiştirin.

az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/exampleRG --sdk-auth

Önemli

Önceki örnekteki kapsam, kaynak grubuyla sınırlandırılmıştır. Gerekli en az erişimi vermenizi öneririz.

Çıktı, aşağıda gösterilene benzer App Service uygulamanıza erişim sağlayan rol atama kimlik bilgileri içeren bir JSON nesnesidir. Bu JSON nesnesini daha sonra kopyalayın. Yalnızca clientId ,, clientSecret subscriptionId ve değerlerine sahip bölümlere ihtiyacınız vardır tenantId .

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

GitHub gizli dizilerini yapılandırma

Azure kimlik bilgileriniz, kaynak grubunuz ve abonelikleriniz için gizli diziler oluşturun.

  1. GitHub, deponuza gidin.

  2. yeni gizli dizi > Ayarlar > gizli dizileri seçin.

  3. Azure CLı komutundan tüm JSON çıkışını gizli dizi değeri alanına yapıştırın. Parolayı adlandırın AZURE_CREDENTIALS .

  4. Adlı başka bir gizli dizi oluşturun AZURE_RG . Kaynak grubunuzun adını gizli dizi değer alanına ( exampleRG ) ekleyin.

  5. Adlı başka bir gizli dizi oluşturun AZURE_SUBSCRIPTION . Abonelik KIMLIĞINIZI gizli dizi değeri alanına ekleyin (örnek: 90fd3f9d-4c61-432d-99ba-1273f236afa2 ).

Bicep dosyası ekleme

GitHub deponuza bir bicep dosyası ekleyin. Aşağıdaki Bıcep dosyası bir depolama hesabı oluşturur:

@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@2021-04-01' = {
  name: uniqueStorageName
  location: location
  sku: {
    name: storageSKU
  }
  kind: 'StorageV2'
  properties: {
    supportsHttpsTrafficOnly: true
  }
}

output storageEndpoint object = stg.properties.primaryEndpoints

Bıcep dosyası, 3 ila 11 karakterlik Storageprefix adlı bir parametre gerektirir.

Dosyayı depodaki herhangi bir yere koyabilirsiniz. Sonraki bölümdeki iş akışı örneği, Bıcep dosyasının adlandırılmış ana. bizlanda olduğunu varsayar ve deponuzın kökünde depolanır.

İş akışı oluşturma

Bir iş akışı tetiklendiğinde yürütülecek adımları tanımlar. Bu, deponuzdaki . GitHub/iş akışlarında/ yolda bulunan bir YAML (. yıml) dosyasıdır. İş akışı dosyası uzantısı . yıml ya da . YAML olabilir.

Bir iş akışı oluşturmak için aşağıdaki adımları uygulayın:

  1. GitHub deponuzdan üstteki menüden eylemler ' i seçin.

  2. Yeni iş akışı' nı seçin.

  3. Bir iş akışını kendiniz ayarlayın öğesini seçin.

  4. Main. yml dışında farklı bir ad tercih ediyorsanız, iş akışı dosyasını yeniden adlandırın. Örneğin: Deploybıcepfile. yml.

  5. YML dosyasının içeriğini aşağıdaki kodla değiştirin:

    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 Bicep file
        - name: deploy
          uses: azure/arm-deploy@v1
          with:
            subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }}
            resourceGroupName: ${{ secrets.AZURE_RG }}
            template: ./main.bicep
            parameters: storagePrefix=mystore
            failOnStdErr: false
    

    mystoreKendi depolama hesabı adı ön ekine sahip olacak şekilde değiştirin.

    Not

    ARM dağıtımı eyleminde bunun yerine bir JSON biçim parametreleri dosyası belirtebilirsiniz (örnek: .azuredeploy.parameters.json ).

    İş akışı dosyasının ilk bölümü şunları içerir:

    • ad: iş akışının adı.
    • açık: iş akışını tetikleyen GitHub olaylarının adı. Ana dalda bir anında iletme olayı olduğunda iş akışı tetiklenir.
  6. Start commit (İşlemeye başla) öğesini seçin.

  7. Doğrudan ana dala kaydet' i seçin.

  8. Yeni dosya Kaydet ' i (veya değişiklikleri Yürüt) seçin.

İş akışı dosyası ya da Bıcep dosyası güncelleştirilirken iş akışı tetiklenir. Değişiklikleri kaydettikten sonra iş akışı hemen başlar.

İş akışı durumunu denetle

  1. Eylemler sekmesini seçin. Listelenen bir deployStorageAccount. yıml iş akışı görürsünüz. İş akışını çalıştırmak için 1-2 dakika sürer.
  2. Açmak için iş akışını seçin.
  3. Dağıtımı doğrulamak için menüden ARM dağıtımını Çalıştır ' ı seçin.

Kaynakları temizleme

kaynak grubunuz ve deponuz artık gerekmiyorsa, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.

az group delete --name exampleRG

Sonraki adımlar