Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GitHub Actions , yazılım geliştirme iş akışlarınızı otomatikleştirmek için GitHub'daki bir özellik paketidir. Bu hızlı başlangıçta, Bir Bicep dosyasını Azure'a dağıtma işlemini otomatikleştirmek için Azure Resource Manager için GitHub Actions dağıtımını kullanacaksınız.
GitHub eylemlerine ve Bicep dosyalarına kısa bir giriş sağlar. GitHub eylemlerini ve projesini ayarlama konusunda daha ayrıntılı adımlar istiyorsanız bkz . Bicep ve GitHub Actions kullanarak Azure kaynaklarını dağıtma.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Bir GitHub hesabı. Hesabınız yoksa ücretsiz olarak kaydolun.
- Bicep dosyalarınızı ve iş akışı dosyalarınızı depolamak için bir GitHub deposu. Bir depo oluşturmak için bkz . Yeni depo oluşturma.
Kaynak grubu oluştur
Kaynak grubu oluşturun. Bu hızlı başlangıcın ilerleyen bölümlerinde Bicep dosyanızı bu kaynak grubuna dağıtacaksınız.
az group create -n exampleRG -l westus
Dağıtım kimlik bilgileri oluşturma
OIDC ile Azure Oturum Açma eylemini kullanmak için, Microsoft Entra uygulamasında veya kullanıcı tarafından atanan yönetilen kimlikte federasyon kimlik bilgilerini yapılandırmanız gerekir.
Seçenek 1: Microsoft Entra uygulaması
- Azure portalı, Azure CLI veya Azure PowerShell tarafından hizmet sorumlusuyla bir Microsoft Entra uygulaması oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Azure portalı, Azure CLI veya Azure PowerShell ile hizmet sorumlunuza uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuza verilen belirteçlere güvenmek için bir Microsoft Entra uygulamasında federasyon kimliği kimlik bilgilerini yapılandırın.
Seçenek 2: Kullanıcı tarafından atanan yönetilen kimlik
- Kullanıcı tarafından atanan bir yönetilen kimlik oluşturun.
- GitHub Actions iş akışınızda daha sonra kullanmak üzere İstemci Kimliği, Abonelik Kimliği ve Dizin (kiracı) kimliği değerlerini kopyalayın.
- Kullanıcı tarafından atanan yönetilen kimliğinize uygun bir rol atayın.
- GitHub Actions tarafından GitHub deponuza verilen belirteçlere güvenmek için kullanıcı tarafından atanan yönetilen kimlikte federasyon kimliği kimlik bilgilerini yapılandırın.
GitHub gizli dizilerini yapılandırma
Oturum açma eylemine uygulamanızın İstemci Kimliğini, Dizin (kiracı) Kimliğini ve Abonelik Kimliğini sağlamanız gerekir. Bu değerler doğrudan iş akışında sağlanabilir veya GitHub gizli dizilerinde depolanabilir ve iş akışınızda başvurulabilir. Değerleri GitHub gizli dizileri olarak kaydetmek daha güvenli bir seçenektir.
Güvenlik > Gizli Dizileri ve değişkenler Eylemler'i> seçin.
Yeni depo gizli dizisi'ni seçin.
Not
Genel depolarda iş akışı güvenliğini geliştirmek için depo gizli dizileri yerine ortam gizli dizilerini kullanın. Ortam onay gerektiriyorsa, gerekli gözden geçirenlerden biri onaylayana kadar iş ortam gizli dizilerine erişemez.
,
AZURE_CLIENT_IDveAZURE_TENANT_IDiçinAZURE_SUBSCRIPTION_IDgizli diziler oluşturun. Bu değerleri GitHub gizli dizileriniz için Microsoft Entra uygulamanızdan veya kullanıcı tarafından atanan yönetilen kimlikten kopyalayın:GitHub gizli dizisi Microsoft Entra uygulaması veya kullanıcı tarafından atanan yönetilen kimlik AZURE_CLIENT_ID Müşteri Kimliği AZURE_SUBSCRIPTION_ID Abonelik Kimliği AZURE_TENANT_ID Dizin (kiracı) kimliği Not
Güvenlik nedeniyle, değerleri doğrudan iş akışına geçirmek yerine GitHub Gizli Dizilerini kullanmanızı öneririz.
Bicep dosyası ekleme
GitHub deponuza bir Bicep dosyası ekleyin. Aşağıdaki Bicep 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@2025-06-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
Bicep dosyası 3 ile 11 karakter arasında storagePrefix adlı bir parametre gerektirir.
Dosyayı deponun herhangi bir yerine yerleştirebilirsiniz. Sonraki bölümdeki iş akışı örneği, Bicep dosyasının main.bicep olarak adlandırılıp deponuzun kökünde depolandığını varsayar.
İş akışı oluşturma
İş akışı, tetiklendiğinde yürütülecek adımları tanımlar. Bu, deponuzun .github/workflows/ yolundaki bir YAML (.yml) dosyasıdır. İş akışı dosya uzantısı .yml veya .yaml olabilir.
İş akışı oluşturmak için aşağıdaki adımları izleyin:
GitHub deponuzdan üstteki menüden Eylemler'i seçin.
Yeni iş akışı'ı seçin.
İş akışını kendiniz ayarlayın'ı seçin.
main.yml dışında farklı bir ad tercih ediyorsanız iş akışı dosyasını yeniden adlandırın. Örneğin: deployBicepFile.yml.
yml dosyasının içeriğini aşağıdaki kodla değiştirin:
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: falseDeğişiklikleri işle'yi seçin.
Doğrudan ana dala işle'yi seçin.
Yeni dosya işle'yi (veya Değişiklikleri işle)'yi seçin.
İş akışı dosyasının veya Bicep dosyasının güncelleştirilmesi iş akışını tetikler. İş akışı, değişiklikleri işledikten hemen sonra başlar.
İş akışı durumunu denetleme
- Eylemler sekmesini seçin. DeployBicepFile.yml oluştur iş akışının listelendiğini görürsünüz. İş akışının çalıştırılması 1-2 dakika sürer.
- İş akışını seçerek açın ve öğesinin
StatusolduğunuSuccessdoğrulayın.
Kaynakları temizleme
Kaynak grubunuz ve deponuz artık gerekli olmadığında, kaynak grubunu ve GitHub deponuzu silerek dağıttığınız kaynakları temizleyin.
az group delete --name exampleRG