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.
Kod olarak Yapılandırma'yı benimsediyseniz ve GitHub'daki yapılandırmalarınızı yönetiyorsanız, GitHub Deponuzdaki yapılandırma dosyalarını otomatik olarak Uygulama Yapılandırması deponuza aktarmak için GitHub Actions'ı kullanabilirsiniz. Bu, yapılandırma dosyalarınızda normalde yaptığınız gibi değişiklikler yapmanıza olanak tanırken aşağıdaki gibi Uygulama Yapılandırması depolama avantajları elde etmenizi sağlar:
- Kodunuzun dışında merkezi yapılandırma.
- Uygulamanızın tamamını yeniden dağıtmadan yapılandırmayı güncelleştirme.
- Azure Uygulaması Hizmeti ve İşlevleri gibi hizmetlerle tümleştirme.
GitHub Action iş akışı, GitHub deposundaki otomatik bir işlemi tanımlar. GitHub deponuzdaki bir yapılandırma dosyasını Azure Uygulaması Yapılandırma deposuna aktarmak için, Uygulama Yapılandırması deponuza dosya aktarmaya yönelik tüm özellikleri sağlayan Azure CLI GitHub eylemini kullanın.
Kimlik Doğrulaması
Yapılandırmaları Azure Uygulaması Yapılandırma deponuza aktarmak için aşağıdaki yöntemlerden birini kullanarak kimlik doğrulaması yapabilirsiniz:
Microsoft Entra Id kullanma
Kimlik doğrulaması için önerilen yol, Azure kaynaklarınıza güvenli bir şekilde bağlanmanızı sağlayan Microsoft Entra Id kullanmaktır. Azure Login GitHub eylemini kullanarak kimlik doğrulama işlemini otomatikleştirebilirsiniz.
Azure Login, gizli anahtarlarla hizmet asıllarını veya Federated Identity Credential kullanarak OpenID Connect ile kimlik doğrulamanıza olanak tanır. Bu örnekte, Uygulama Yapılandırması deponuzda oturum açmak için OpenID Connect kullanacaksınız.
OpenID Connect ile Azure oturum açma özelliğini kullanma
OpenID Connect ile Azure Oturum Açma özelliğini kullanmak için şunları yapmanız gerekir:
- Hizmet sorumlusuyla bir Microsoft Entra uygulaması ayarlayın.
- GitHub eyleminizin Uygulama Yapılandırması deponuzu okumasına ve yazmasına izin vermek için Microsoft Entra uygulamanıza Uygulama Yapılandırması Veri Sahibi rolünü atayın.
- Oturum açma eylemine Microsoft Entra uygulamanızın İstemci Kimliği, Kiracı Kimliği ve Abonelik Kimliği bilgilerini sağlayın. Bu değerler doğrudan iş akışında sağlanabilir veya daha iyi güvenlik için GitHub gizli dizileri olarak depolanabilir. Aşağıdaki örnekte, bu değerler gizli değerler olarak ayarlanmıştır. GitHub'da gizli anahtarların kullanımı hakkında daha fazla bilgi için bkz. GitHub Actions'ta gizli anahtarları kullanma.
Bu GitHub Eylemi'ni kullanmaya başlamak için deponuza gidin ve Eylemler sekmesini seçin. Yeni iş akışı'nı ve ardından İş akışını kendiniz ayarlayın'ı seçin. Son olarak markette "Azure Oturum Açma" araması yapın. Bunu bulduktan sonra eyleme tıklayın ve sağlanan kod parçacığını iş akışı dosyanıza kopyalayın.
Microsoft Entra Kimliğini kullanma örneği
# Set permissions for the workflow. Specify 'id-token: write' to allow OIDC token generation at the workflow level.
permissions:
id-token: write
contents: read
jobs:
syncconfig:
runs-on: ubuntu-latest
steps:
- name: Azure login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
Bağlantı dizesi kullanma
Alternatif olarak, bağlantı dizesi doğrudan Azure CLI komutuna geçirerek kimlik doğrulaması yapabilirsiniz. Bu yöntem, azure portalından bağlantı dizesi almayı ve komutlarınızda veya betiklerinizde kullanmayı içerir.
Başlamak için bağlantı dizesini, Azure portalında Uygulama Yapılandırması deponuzun Erişim Ayarları altında bulabilirsiniz.
Ardından bu bağlantı dizesi GitHub deponuzda gizli dizi değişkeni olarak ayarlayın. GitHub'da gizli dizileri kullanma hakkında daha fazla bilgi için bkz . GitHub Actions'ta gizli dizileri kullanma..
bağlantı dizesi kullanma örneği
on:
push:
branches:
- 'main'
paths:
- 'appsettings.json'
jobs:
syncconfig:
runs-on: ubuntu-latest
# pass the secret variable as an environment variable to access it in your CLI action.
env:
CONNECTION_STRING: ${{ secrets.<ConnectionString> }}
Yapılandırma dosyası içeri aktarma
Bir yapılandırma dosyasını Uygulama Yapılandırması deponuza aktarmak için Azure CLI GitHub Eylemi'ni kullanırsınız. Bu GitHub Eylemi'ni kullanmaya başlamak için deponuza gidin ve Eylemler sekmesini seçin. Yeni iş akışı'nı ve ardından İş akışını kendiniz ayarlayın'ı seçin. Son olarak, market yerinde “Azure CLI Action” ifadesini arayın. Bunu bulduktan sonra eyleme tıklayın ve sağlanan kod parçacığını iş akışı dosyanıza kopyalayın.
Aşağıdaki örnekte, appsettings.json öğesine bir değişiklik gönderildiğinde yapılandırma dosyalarını bir Azure Uygulama Yapılandırması deposuna aktarmak için Azure CLI eylemini kullanırsınız. Bir geliştirici bir değişikliği appsettings.json konumuna gönderdiğinde, Azure CLI eylemine iletilen betik App Configuration deposunu yeni değerlerle günceller.
Bu iş akışının on bölümü, eylemin main dalına içeren bir push işlemi gerçekleştiğinde tetiklendiğini belirtir. İşler bölümünde, eylem tetiklendiğinde çalıştırılacak işler listelenir. Eylem, ilgili dosyaları teslim alır ve App Configuration deposunu güncelleştirir.
on:
push:
branches:
- 'main'
paths:
- 'appsettings.json'
# Set permissions for the workflow. Specify 'id-token: write' to allow OIDC token generation at the workflow level.
permissions:
id-token: write
contents: read
jobs:
syncconfig:
runs-on: ubuntu-latest
steps:
- name: Azure login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# checkout done so that files in the repo can be read by the sync
- uses: actions/checkout@v1
- uses: azure/cli@v2
with:
azcliversion: latest
inlineScript: |
az appconfig kv import --endpoint <AppConfigurationEndpoint> --auth-mode login -s file --path appsettings.json --format json --yes
Azure Uygulama Yapılandırması CLI içeri aktarma komutları hakkında daha fazla bilgi için Azure Uygulama Yapılandırması CLI belgelerine bakın.
İçeri aktarmada dinamik etiket kullanma
Her içeri aktarma işleminde dinamik etiket kullanmak, yapılandırmalarınızın net ve hassas sürüm denetimini korumanın iyi bir yoludur. Uygulama Yapılandırması deponuza yapılan her içeri aktarmanın benzersiz olarak tanımlanmasını sağlayarak kod değişikliklerini yapılandırma güncelleştirmelerine eşlemeyi kolaylaştırır.
İçeri aktarmada dinamik etiket kullanma örneği
Aşağıdaki örnekte, içeri aktarılan tüm anahtar-değerler işleme karması temelinde benzersiz bir etikete sahip olacaktır.
jobs:
syncconfig:
runs-on: ubuntu-latest
steps:
# Creates a label based on the branch name and the first 8 characters
# of the commit hash
- id: determine_label
run: echo ::set-output name=LABEL::"${GITHUB_REF#refs/*/}/${GITHUB_SHA:0:8}"
# checkout done so that files in the repo can be read by the sync
- uses: actions/checkout@v1
- uses: azure/cli@v2
with:
azcliversion: latest
inlineScript: |
az appconfig kv import --endpoint <AppConfigurationEndpoint> --auth-mode login -s file --path appsettings.json --format json --label ${{ steps.determine_label.outputs.LABEL }} --yes
Sonraki adımlar
CLI içeri aktarma komutlarını kullanmayı öğrenmek için kapsamlı Azure CLI içeri aktarma komutları kılavuzumuzu inceleyin.
Farklı dosya içerik profilleri hakkında daha fazla bilgi için bkz: Yapılandırma dosyaları için Azure Uygulama Yapılandırması desteği.