Sdílet prostřednictvím


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:

  1. Nastavte aplikaci Microsoft Entra pomocí instančního objektu.
  2. Přiřaďte aplikaci Microsoft Entra roli Vlastník dat konfigurace aplikace, aby akce GitHubu mohla číst a zapisovat do obchodu App Configuration.
  3. 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.

Výběr karty Akce

Výběr akce přihlášení k Azure

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ýběr akce Azure CLI

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