Alıştırma - GitHub iş akışlarıyla Bicep dosyası dağıtma
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
- Burada ücretsiz olarak oluşturabileceğiniz bir GitHub hesabına ihtiyacınız olacaktır.
- Daha önce Alıştırma - Bicep şablonları oluşturma bölümünde oluşturulan Bicep dosyanızı ve iş akışlarınızı depolamak için bir GitHub deposu da gereklidir. GitHub deponuzu oluşturduktan sonra, Bicep dosyasını bu depoya gönderin.
- Azure'a dağıtım için, burada ücretsiz olarak oluşturulabilen bir Azure aboneliğine erişim gerekir.
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. 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
Not
Unutmayın, {subscription-id}'yi gerçek abonelik kimliğiniz ile değiştirin.
Komutu anlama
- az ad sp create-for-rbac: Rol bazlı erişim kontrolü için bir hizmet ilkesi oluşturur.
- --ad: Hizmet sorumlusunun adı.
-
--rol:
contributorrolünü atar ve kaynakların tam olarak yönetilmesine olanak tanır. - --Kapsam: Erişimi belirli bir kaynak grubuyla sınırlar.
- --sdk-auth: Kimlik bilgilerini SDK kimlik doğrulamasına uygun bir biçimde çıkışlar.
İşlem başarılı olduğunda, JSON nesnesi, tenantId, subscriptionId, clientId ve clientSecret gibi birkaç ek özelliği içermelidir.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
GitHub gizli dizilerinize eklemeniz gerekeceğinden bu nesneyi not alın.
GitHub gizli anahtar oluşturma
GitHub deponuzda Ayarlar>Gizli>Actions adımlarına 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 grubu adı için ad AZURE_RG ve abonelik kimliği adı AZURE_SUBSCRIPTION olan bir gizli veri oluşturun.
Gizli bilgiler neden kullanılır?
GitHub gizli bilgiler hassas bilgileri güvenli bir şekilde depolar. Bunlar şunlardır:
- Şifrelenmiş:GitHub'da güvenli bir şekilde depolanır.
- Günlüklerde görünmez: İş akışı çalıştırma günlüklerinde maskelenmiş.
- İş akışlarında erişilebilir: İş akışı yürütme sırasında ortam değişkenleri olarak kullanılabilir.
GitHub eylemi oluşturma
Yeni iş akışı oluşturma
İ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.
İş akışını tanımlama
Dosyanın içeriğini aşağıdaki kod parçacığıyla değiştirin:
on: [push] name: Azure Resource Manager 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: falseParametre değerini
storagePrefixkendinizinkiyle değiştirebilirsiniz.
İş akışını anlama
Bu GitHub Action iş akışı aşağıdakileri gerçekleştirir:
Tetiklemek: Kod depoya (
on: [push]) gönderildiğinde otomatik olarak çalışır.İş:
build-and-deployadlı bir işi, Ubuntu çalıştırıcısı üzerinde çalışacak şekilde tanımlar.Steps:
-
Çıkış kodu: Depo kodunu dışa aktarmak için
actions/checkout@mainkullanır. -
Azure'da oturum açın: Gizli anahtarı kullanarak
azure/login@v1Azure'da kimliğinizi doğrularAZURE_CREDENTIALS. -
Bicep dosyasını dağıtma:
azure/arm-deploy@v1kullanarak Bicep şablonunu dağıtın:-
subscriptionId: Azure abonelik kimliği gizli bilgilerden. -
resourceGroupName: Gizli bilgilerden kaynak grubu adı. -
template: Bicep dosyasının yolu. -
parameters: Bicep şablonuna geçirilen parametreler. -
failOnStdErr: Standart hata çıktısında başarısız olmamak içinfalseayarlayın.
-
Not
İş 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.
-
Çıkış kodu: Depo kodunu dışa aktarmak için
İş akışını işleme
İş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 dosya işle'yi seçin.
İş akışını izleme
Eylemler sekmesine gidin ve çalışması gereken yeni oluşturulan eylemi seçin.
Dağıtımı doğrulayın
Durumu izleyin ve iş tamamlandığında depolama hesabının oluşturulup oluşturulmadığını görmek için Azure portalını denetleyin.