Yapılandırma dosyalarını GitHub deponuzdan Uygulama Yapılandırması deposuna aktarma
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 Oturum Açma, gizli dizilerle hizmet sorumlularını veya Federasyon Kimliği Kimlik Bilgileri ile OpenID Connect'i kullanarak kimlik doğrulaması yapmanı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 dizi olarak ayarlanmıştır. GitHub'da gizli dizileri kullanma hakkında daha fazla bilgi için bkz . GitHub Actions'ta gizli dizileri 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ı dizesi Azure portalındaki Uygulama Yapılandırması mağazanızın 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 markette "Azure CLI Eylemi" araması yapı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, bir değişiklik gönderildiğinde yapılandırma dosyalarını bir Azure Uygulaması Yapılandırma deposuna aktarmak için Azure CLI eylemini appsettings.json
kullanırsınız. Geliştirici bir değişikliği adresine appsettings.json
gönderdiğinde, Azure CLI eylemine geçirilen betik Uygulama Yapılandırması deposunu yeni değerlerle güncelleştirir.
Bu iş akışının on bölümü, eylemin ana dalı içeren bir gönderimde tetiklendiğini appsettings.json
belirtir. İşler bölümünde, eylem tetiklendiğinde çalıştırılacak işler listelenir. Eylem, ilgili dosyaları kullanıma alır ve Uygulama Yapılandırması depoyu 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 <your-app-configuration-store-endpoint> --auth-mode login -s file --path appsettings.json --format json --yes
Azure Uygulaması Yapılandırma CLI'sı içeri aktarma komutları hakkında daha fazla bilgi için Azure Uygulaması Konfifguration 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 <your-app-configuration-store-endpoint> --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çeriği profilleri hakkında daha fazla bilgi edinmek için bkz. yapılandırma dosyaları için yapılandırma desteği Azure Uygulaması.