Alıştırma - GitHub iş akışlarından Bicep dosyası dağıtma

Tamamlandı

GitHub Actions , doğası gereği Azure Pipelines'a benzer. Yazılım geliştirme ve dağıtımları otomatikleştirmek için bir yol sağlar. Bu alıştırmada GitHub Action kullanarak bicep dosyasını dağıtmayı öğreneceksiniz.

Önkoşullar

Azure'da hizmet sorumlusu oluşturma

Kaynaklarınızı Azure'a dağıtmak için GitHub'ın kullanabileceği bir hizmet sorumlusu oluşturmanız gerekir. Bu nedenle azure portalında bir terminal açın veya Cloud Shell'i kullanın ve aşağıdaki komutları yazın:

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

Dekont

Abonelik Kimliğini sizinkiyle değiştirmeyi unutmayın.

İşlem başarılı olduğunda, , , subscriptionIdclientId, clientSecretve gibi birkaç özelliği içeren tenantIdbir JSON nesnesi çıkışı vermelidir.

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

GitHub gizli dizilerinize eklemeniz gerekeceğinden bu nesneyi not alın.

GitHub gizli dizisi oluşturma

GitHub deponuzda Ayarlar> Secrets>Actions'a gidin. adlı AZURE_CREDENTIALS yeni bir gizli dizi oluşturun ve önceki adımda aldığınız JSON nesnesinin tamamını yapıştırın.

Kaynak grubunun adı için ve abonelik için bir adla AZURE_RG başka bir gizli dizi oluşturun.

Screenshot of GitHub secrets creation and manage page.

GitHub eylemi oluşturma

  1. İlk olarak deponuza gidin ve Eylemler menüsünü seçin. Ardından, deponuzda boş bir iş akışı oluşturmak için bir iş akışı ayarlayın. İsterseniz dosyayı farklı bir adla yeniden adlandırabilirsiniz.

    Screenshot of GitHub new file creation, edit and preview.

  2. Dosyanın içeriğini aşağıdaki kod parçacığıyla 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=stg
                      failOnStdErr: false
    

    Depolama hesabı ön ekini kendinizle değiştirebilirsiniz.

    Dekont

    İş akışının ilk bölümü tetikleyiciyi ve adını tanımlar. Gerisi bir iş tanımlar ve kodu kullanıma almak, Azure'da oturum açmak ve Bicep dosyasını dağıtmak için birkaç görev kullanır.

  3. İşlemeyi başlat'ı seçin ve açılan iletişim kutusuna bir başlık ve açıklama girin. Ardından Doğrudan ana dala işle'yi ve ardından Yeni bir dosya işle'yi seçin.

    Screenshot of GitHub commits a new file to the main branch.

  4. Eylemler sekmesine gidin ve çalışması gereken yeni oluşturulan eylemi seçin.

    Screenshot of GitHub action running and deploying.

  5. Durumu izleyin ve iş tamamlandığında depolama hesabının oluşturulup oluşturulmadığını görmek için Azure portalını denetleyin.

    Screenshot of GitHub action successful executed job.