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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- GitHub hesabı. Bir hesabınız yoksa ücretsizkaydolun.
- bıcep dosyalarınızı ve iş akışı dosyalarınızı depolamak için bir GitHub deposu. Bir tane oluşturmak için bkz. Yeni bir depo oluşturma.
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.
GitHub, deponuza gidin.
yeni gizli dizi > Ayarlar > gizli dizileri seçin.
Azure CLı komutundan tüm JSON çıkışını gizli dizi değeri alanına yapıştırın. Parolayı adlandırın
AZURE_CREDENTIALS.Adlı başka bir gizli dizi oluşturun
AZURE_RG. Kaynak grubunuzun adını gizli dizi değer alanına (exampleRG) ekleyin.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:
GitHub deponuzdan üstteki menüden eylemler ' i seçin.
Yeni iş akışı' nı seçin.
Bir iş akışını kendiniz ayarlayın öğesini seçin.
Main. yml dışında farklı bir ad tercih ediyorsanız, iş akışı dosyasını yeniden adlandırın. Örneğin: Deploybıcepfile. yml.
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: falsemystoreKendi 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.
Start commit (İşlemeye başla) öğesini seçin.
Doğrudan ana dala kaydet' i seçin.
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
- 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.
- Açmak için iş akışını seçin.
- 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