Sdílet prostřednictvím


Ukládání do mezipaměti stavu nasazení

Příkaz aspire deploy spravuje stav nasazení prostřednictvím konfiguračních souborů uložených v mezipaměti uložené místně na vašem počítači. Tento mechanismus ukládání do mezipaměti zjednodušuje opakovaná nasazení zachováním nastavení a parametrů zřizování, což umožňuje rychlejší a efektivnější následná nasazení.

Výchozí chování

Příkaz aspire deploy automaticky spravuje stav nasazení na základě toho, jestli pro vaši aplikaci a cílové prostředí existuje konfigurace uložená v mezipaměti.

První nasazení

Když spustíte aspire deploy poprvé nebo poprvé v cílovém prostředí --environment, příkaz:

  1. Zobrazí výzvu k zadání informačních položek (ID předplatného, název skupiny prostředků, umístění).
  2. Zobrazí výzvu k zadání parametrů nasazení (například klíče rozhraní API, připojovací řetězce).
  3. Zahájí proces nasazení.
  4. Uloží všechny zobrazované hodnoty a stav nasazení do ~/.aspire/deployments/{AppHostSha}/production.json.

Následná nasazení

Při následných aspire deploy spuštěních příkaz:

  1. Zjistí existující soubor stavu nasazení v umístění ~/.aspire/deployments/{AppHostSha}/production.json.
  2. Upozorní vás, že nastavení se načte ze souboru uloženého v mezipaměti.
  3. Zobrazí výzvu k potvrzení načtení nastavení uloženého v mezipaměti.
  4. Načte konfiguraci ze souboru uloženého v mezipaměti do zprostředkovatele konfigurace.
  5. Pokračuje s nasazením pomocí hodnot uložených v mezipaměti (bez opakované výzvy).

Nasazení specifická pro prostředí

Různá prostředí nasazení (například vývoj, příprava a produkční prostředí) obvykle vyžadují různé konfigurace, názvy prostředků a připojovací řetězce. Příkaz aspire deploy podporuje nasazení specifická pro prostředí a zajišťuje, aby každé prostředí udržovalo izolovaný stav nasazení.

Určení prostředí

Pomocí příznaku --environment nasaďte do různých prostředí:

aspire deploy --environment staging

První nasazení do konkrétního prostředí:

  • Zobrazí výzvu ke všem informacím o zřizování a parametrech.
  • Uloží stav nasazení do .json~/.aspire/deployments/{AppHostSha}/{environment} (například staging.json).

Další nasazení:

  • Načte soubor v mezipaměti specifický pro prostředí.
  • Načte konfiguraci ze stavu uloženého v mezipaměti.
  • Používá hodnoty uložené v mezipaměti bez výzvy.

Podpora proměnných prostředí

Prostředí nasazení lze také zadat pomocí DOTNET_ENVIRONMENT proměnné prostředí:

export DOTNET_ENVIRONMENT=staging && aspire deploy

Chová se stejně jako při použití příznaku --environment a načítá příslušný konfigurační soubor uložený v mezipaměti.

Správa mezipaměti

Příkaz aspire deploy poskytuje mechanismy pro správu stavu nasazení uloženého v mezipaměti a poskytuje kontrolu nad tím, kdy použít hodnoty uložené v mezipaměti a kdy začít znovu.

Vymazání mezipaměti

Pomocí příznaku --clear-cache resetujte stav nasazení:

aspire deploy --clear-cache

Chování:

  1. Před odstraněním mezipaměti pro zadané prostředí se zobrazí výzva k potvrzení.
  2. Odstraní soubor stavu nasazení specifického pro prostředí (například ~/.aspire/deployments/{AppHostSha}/production.json).
  3. Při prvním nasazení se zobrazí výzva k zadání všech informací o zřizování a parametrech.
  4. Pokračuje s nasazením.
  5. Neukládá zobrazované hodnoty do mezipaměti.

Vymazání mezipaměti specifické pro prostředí

Příznak --clear-cache respektuje kontext prostředí:

aspire deploy --environment staging --clear-cache

Tím se vymaže pouze soubor mezipaměti staging.json a ostatní mezipaměti prostředí (například production.json) zůstanou nedotčené.

Umístění úložiště souborů

  • Vzor cesty:~/.aspire/deployments/{AppHostSha}/{environment}.json.
  • Výchozí prostředí:production.
  • AppHostSha: Hodnota hash představující konfiguraci hostitele aplikace, která zajišťuje, že stavy nasazení jsou specifické pro každou konfiguraci aplikace.

Použijte stav nasazení v CI/CD pipelinech

Při použití aspire deploy příkazu v kanálech kontinuální integrace a nasazování (CI/CD) můžete chtít zachovat stav nasazení napříč spuštěními kanálu. Tento přístup může být užitečný pro udržování konzistentních konfigurací nasazení bez ručního zásahu.

GitHub Příklad akcí

Následující příklad ukazuje, jak uložit stav nasazení do mezipaměti v GitHub pracovním postupu pomocí akce actions/cache Actions:

name: Deploy to Azure

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    
    - name: Cache Aspire deployment state
      uses: actions/cache@v4
      with:
        path: ~/.aspire/deployments
        key: aspire-deploy-${{ hashFiles('**/AppHost.csproj') }}-${{ github.ref }}
        restore-keys: |
          aspire-deploy-${{ hashFiles('**/AppHost.csproj') }}-
          aspire-deploy-
    
    - name: Deploy with Aspire CLI
      run: aspire deploy --environment production
      env:
        AZURE_CREDENTIALS: ${{ secrets.AZURE_CREDENTIALS }}

Tento pracovní postup ukládá adresář ~/.aspire/deployments do mezipaměti pomocí hodnoty hash souboru projektu AppHost a odkazu na větev jako klíče mezipaměti. Akce actions/cache automaticky obnoví mezipaměť před krokem nasazení a po dokončení úlohy uloží všechny aktualizace do mezipaměti. Následující pracovní postup spustí obnovení stavu nasazení uloženého v mezipaměti, což umožňuje automatizované nasazení bez opětovné výzvy k zadání hodnot konfigurace.

Upozornění

Při ukládání stavu nasazení do mezipaměti v kanálech CI/CD se ujistěte, že váš kanál má vhodné řízení přístupu a postupy správy tajných kódů, protože stav v mezipaměti může obsahovat citlivé hodnoty konfigurace.

Bezpečnostní aspekty

Soubory stavu nasazení se ukládají místně na vašem počítači v adresáři ~/.aspire/deployments . Tyto soubory obsahují nastavení zřizování a hodnoty parametrů, včetně tajemství, která mohou být přidružena k parametrickým prostředkům. Příkaz aspire deploy se řídí stejným vzorem zabezpečení jako .NET, správce tajných klíčů uživatelů:

  • Soubory se ukládají mimo zdrojový kód, aby se zabránilo náhodným únikům tajemství ve verzovacím systému.
  • Tajné kódy jsou uložené ve formátu prostého textu v místním systému souborů.
  • K těmto souborům má přístup jakýkoli proces spuštěný pod vaším uživatelským účtem.

Zvažte tyto osvědčené postupy zabezpečení:

  • Ujistěte se, že váš místní počítač má příslušná bezpečnostní opatření.
  • Při sdílení nebo zálohování souborů z adresáře ~/.aspire/deployments buďte opatrní.
  • --clear-cache Příznak použijte, když potřebujete změnit citlivé hodnoty parametrů.

Klíčové body

  • Každé prostředí udržuje svůj vlastní izolovaný stav nasazení.
  • Hodnoty uložené v mezipaměti se zachovají napříč nasazeními, pokud nejsou explicitně vymazány.
  • Příznak --clear-cache provádí jednorázové nasazení bez zachování nových hodnot.
  • Výběr prostředí lze zadat parametrem příkazové řádky nebo proměnnou prostředí.
  • Při načítání nastavení uložených v mezipaměti se zobrazí výzva k potvrzení.
  • Soubory mezipaměti se ukládají na aplikaci (přes AppHostSha) a na prostředí.

Viz také