Import konfiguračních souborů z úložiště GitHub do App Configuration Storu
Pokud jste konfiguraci přijali jako kód a spravovali konfigurace v GitHubu, můžete pomocí GitHub Actions automaticky importovat konfigurační soubory z úložiště GitHub do úložiště App Configuration. Díky tomu můžete v konfiguračních souborech provádět změny obvyklým způsobem a současně využívat výhody App Configuration Storu, jako jsou:
- Centralizovaná konfigurace mimo váš kód
- Aktualizace konfigurace bez opětovného nasazení celé aplikace
- Integrace se službami, jako jsou Aplikace Azure Service a Functions.
Pracovní postup akce GitHubu definuje automatizovaný proces v úložišti GitHub. Pokud chcete importovat konfigurační soubor z úložiště GitHub do úložiště konfigurace Aplikace Azure, použijte akci GitHubu v Azure CLI, která poskytuje úplné možnosti pro import souborů do úložiště App Configuration Store.
Ověřování
Pokud chcete importovat konfigurace do úložiště konfigurace Aplikace Azure, můžete se ověřit pomocí jedné z následujících metod:
Použití ID Microsoft Entra
Doporučeným způsobem ověření je použití Microsoft Entra ID, které vám umožní bezpečně se připojit k prostředkům Azure. Proces ověřování můžete automatizovat pomocí akce GitHubu pro přihlášení k Azure.
Přihlášení Azure umožňuje ověřování pomocí instančních objektů s tajnými klíči nebo OpenID Connect s přihlašovacími údaji federované identity. V tomto příkladu se pomocí OpenID Connect přihlásíte ke službě App Configuration Store.
Použití přihlášení k Azure s OpenID Connect
Pokud chcete použít Azure Login s OpenID Connect, budete muset:
- Nastavte aplikaci Microsoft Entra pomocí instančního objektu.
- Přiřaďte aplikaci Microsoft Entra roli Vlastník dat konfigurace aplikace, aby akce GitHubu mohla číst a zapisovat do obchodu App Configuration.
- Zadejte ID klienta, ID tenanta a ID předplatného vaší aplikace Microsoft Entra pro akci přihlášení. Tyto hodnoty je možné poskytnout přímo v pracovním postupu nebo je uložit jako tajné kódy GitHubu, aby se zlepšilo zabezpečení. V následujícím příkladu jsou tyto hodnoty nastavené jako tajné kódy. Další informace o používání tajných kódů v GitHubu najdete v tématu Použití tajných kódů v GitHub Actions.
Pokud chcete začít používat tuto akci GitHubu, přejděte do svého úložiště a vyberte kartu Akce. Vyberte Nový pracovní postup a pak vytvořte pracovní postup sami. Nakonec na marketplace vyhledejte "Azure Login". Jakmile ho najdete, klikněte na akci a zkopírujte zadaný fragment kódu do souboru pracovního postupu.
Příklad použití ID Microsoft Entra
# 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 }}
Pomocí připojovacího řetězce
Případně se můžete ověřit předáním připojovací řetězec přímo do příkazu Azure CLI. Tato metoda zahrnuje načtení připojovací řetězec z webu Azure Portal a jeho použití ve vašich příkazech nebo skriptech.
Začněte tím, že najdete připojovací řetězec v části Nastavení přístupu v Obchodě App Configuration Store na webu Azure Portal.
Dále tuto připojovací řetězec nastavte jako proměnnou tajného kódu v úložišti GitHub. Další informace o používání tajných kódů v GitHubu najdete v tématu Použití tajných kódů v GitHub Actions..
Příklad použití připojovací řetězec
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> }}
Import konfiguračního souboru
Akci GitHubu v Azure CLI použijete k importu konfiguračního souboru do obchodu App Configuration Store. Pokud chcete začít používat tuto akci GitHubu, přejděte do svého úložiště a vyberte kartu Akce. Vyberte Nový pracovní postup a pak vytvořte pracovní postup sami. Nakonec na marketplace vyhledejte "Akce Azure CLI". Jakmile ho najdete, klikněte na akci a zkopírujte zadaný fragment kódu do souboru pracovního postupu.
V následujícím příkladu použijete akci Azure CLI k importu konfiguračních souborů do úložiště konfigurace Aplikace Azure při vložení změny do appsettings.json
úložiště konfigurace . Když vývojář odešle změnu appsettings.json
, skript předaný akci Azure CLI aktualizuje obchod App Configuration Store s novými hodnotami.
Část tohoto pracovního postupu určuje, že akce se aktivuje při nasdílení změn obsahujícím appsettings.json
hlavní větev. Oddíl úlohy obsahuje seznam úloh spuštěných po aktivaci akce. Akce zkontroluje relevantní soubory a aktualizuje App Configuration Store.
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
Další informace o příkazech importu rozhraní příkazového řádku konfigurace Aplikace Azure najdete v dokumentaci k rozhraní příkazového řádku Aplikace Azure Configuration.
Použití dynamického popisku při importu
Použití dynamického popisku při každém importu je vhodný způsob, jak udržovat jasnou a přesnou správu verzí konfigurací. Umožňuje, aby byl každý import do vašeho obchodu App Configuration jedinečně identifikovaný, což usnadňuje mapování změn kódu na aktualizace konfigurace.
Příklad použití dynamického popisku při importu
V následujícím příkladu budou mít všechny importované hodnoty klíčů jedinečný popisek založený na hodnotě hash potvrzení.
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
Další kroky
Pokud se chcete dozvědět, jak používat příkazy importu rozhraní příkazového řádku, podívejte se na naši komplexní příručku k importu příkazů Azure CLI.
Další informace o různýchprofilech Aplikace Azure ch