Nasazení statické webové aplikace pomocí Azure Static Web Apps CLI
Důležité
Kvůli zlepšení zabezpečení nasazení z rozhraní příkazového řádku Static Web Apps jsme zavedli zásadní změnu, která vyžaduje upgrade na nejnovější verzi rozhraní příkazového řádku Static Web Apps (2.0.2) od 15. ledna 2025.
Rozhraní příkazového řádku Azure Static Web Apps (SWA CLI) obsahuje deploy
příkaz k nasazení aktuálního projektu do Azure Static Web Apps.
Mezi běžné scénáře nasazení patří:
- Front-endová aplikace bez rozhraní API
- Front-endová aplikace s rozhraním API
- Aplikace Blazor
Token nasazení
Rozhraní příkazového řádku SWA podporuje nasazení pomocí tokenu nasazení pro povolení nastavení v prostředíCH CI/CD.
Token nasazení můžete získat z:
Azure Portal: Domovská stránka → Static Web App → Přehled vaší instance → → Správa tokenu nasazení
Azure CLI: Použití příkazu
secrets list
:az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
Azure Static Web Apps CLI: Použití
deploy
příkazu:swa deploy --print-token
Pak můžete použít hodnotu tokenu s --deployment-token <TOKEN>
proměnnou prostředí nebo můžete vytvořit volanou SWA_CLI_DEPLOYMENT_TOKEN
proměnnou prostředí a nastavit ji na token nasazení.
Důležité
Neukládejte tokeny nasazení do veřejného úložiště.
Nasazení front-endové aplikace bez rozhraní API
Front-endovou aplikaci můžete nasadit bez rozhraní API do Azure Static Web Apps. Pokud front-endová aplikace vyžaduje krok sestavení, spusťte swa build
nebo postupujte podle pokynů k sestavení aplikace.
Vyberte možnost, která nejlépe vyhovuje vašim potřebám při konfiguraci nasazení.
Možnost 1: Ze složky sestavení, kterou chcete nasadit, spusťte příkaz deploy:
cd build/ swa deploy
Poznámka:
Složka sestavení musí obsahovat statický obsah vaší aplikace, který se má nasadit.
Možnost 2: Můžete také nasadit konkrétní složku:
Pokud front-endová aplikace vyžaduje krok sestavení, spusťte
swa build
nebo postupujte podle pokynů k sestavení aplikace.Nasazení aplikace:
swa deploy ./my-dist
Nasazení front-endové aplikace pomocí rozhraní API
Pomocí následujícího postupu nasaďte aplikaci, která obsahuje koncové body rozhraní API.
Pokud front-endová aplikace vyžaduje krok sestavení, spusťte
swa build
nebo postupujte podle pokynů k sestavení aplikace.Ujistěte se, že je správně nastavená verze modulu runtime jazyka API v souboru staticwebapp.config.json , například:
{ "platform": { "apiRuntime": "node:16" } }
Poznámka:
Pokud váš projekt nemá soubor staticwebapp.config.json , přidejte ho do složky
outputLocation
.Nasazení aplikace:
swa deploy ./my-dist --api-location ./api
Nasazení aplikace Blazor
Aplikaci Blazor můžete nasadit pomocí následujícího postupu.
Sestavení aplikace Blazor v režimu vydání :
dotnet publish -c Release -o bin/publish
V kořenovém adresáři projektu spusťte příkaz deploy:
swa deploy ./bin/publish/wwwroot --api-location ./Api
Nasazení pomocí konfiguračního souboru
Poznámka:
Cesta musí outputLocation
být relativní vzhledem k hodnotě appLocation
.
Pokud v projektu používáte swa-cli.config.json
konfigurační soubor s jednou položkou konfigurace, můžete aplikaci nasadit spuštěním následujícího postupu.
Příklad jedné položky konfigurace pro referenci vypadá jako následující fragment kódu.
{
"configurations": {
"my-app": {
"appLocation": "./",
"apiLocation": "api",
"outputLocation": "frontend",
"start": {
"outputLocation": "frontend"
},
"deploy": {
"outputLocation": "frontend"
}
}
}
}
Pokud front-endová aplikace vyžaduje krok sestavení, spusťte
swa build
nebo postupujte podle pokynů k sestavení aplikace.Nasaďte aplikaci.
swa deploy
Pokud máte více položek konfigurace, můžete zadat ID položky, které chcete použít:
swa deploy my-otherapp
Možnosti
Následující možnosti můžete použít s swa deploy
:
-
-a, --app-location <path>
: složka obsahující zdrojový kód front-endové aplikace (výchozí: ".
") -
-i, --api-location <path>
: složka obsahující zdrojový kód aplikace API -
-O, --output-location <path>
: složka obsahující sestavený zdroj front-endové aplikace. Cesta je relativní k--app-location
(výchozí: ".
") -
-w, --swa-config-location <swaConfigLocation>
: adresář, kde se nachází soubor staticwebapp.config.json -
-d, --deployment-token <secret>
: token tajného kódu použitý k ověření pomocí Static Web Apps -
-dr, --dry-run
: Simulace procesu nasazení bez skutečného spuštění (výchozí:false
) -
-pt, --print-token
: tisk tokenu nasazení (výchozí:false
) -
--env [environment]
: typ prostředí nasazení, ve kterém se má projekt nasadit (výchozí hodnota: "preview
") -
-S, --subscription-id <subscriptionId>
: ID předplatného Azure používané tímto projektem (výchozí:process.env.AZURE_SUBSCRIPTION_ID
) -
-R, --resource-group <resourceGroupName>
: Skupina prostředků Azure používaná tímto projektem -
-T, --tenant-id <tenantId>
: ID tenanta Azure (výchozí:process.env.AZURE_TENANT_ID
) -
-C, --client-id <clientId>
: ID klienta Azure -
-CS, --client-secret <clientSecret>
: Tajný klíč klienta Azure -
-n, --app-name <appName>
: Název aplikace Azure Static Web App -
-cc, --clear-credentials
: Vymazání trvalých přihlašovacích údajů před přihlášením (výchozí:false
) -
-u, --use-keychain
: Povolení použití nativní klíčenky operačního systému pro trvalé přihlašovací údaje (výchozí:true
) -
-nu, --no-use-keychain
: Zakázání použití nativní klíčenky operačního systému -
-h, --help
: zobrazení nápovědy pro příkaz
Využití
Nasazení pomocí tokenu nasazení
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Nasaďte pomocí tokenu nasazení z proměnných prostředí.
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Nasazení pomocí swa-cli.config.json
souboru
swa deploy
swa deploy myconfig
Vytiskněte token nasazení.
swa deploy --print-token
Nasazení do konkrétního prostředí
swa deploy --env production