Wdrażanie statycznej aplikacji internetowej przy użyciu interfejsu wiersza polecenia usługi Azure Static Web Apps
Ważne
Aby zwiększyć bezpieczeństwo wdrożeń z interfejsu wiersza polecenia usługi Static Web Apps, wprowadzono zmianę powodującą niezgodność, która wymaga uaktualnienia do najnowszej wersji (2.0.2) interfejsu wiersza polecenia usługi Static Web Apps do 15 stycznia 2025 r.
Interfejs wiersza polecenia usługi Azure Static Web Apps (SWA CLI) zawiera deploy
polecenie w celu wdrożenia bieżącego projektu w usłudze Azure Static Web Apps.
Typowe scenariusze wdrażania obejmują:
- Aplikacja frontonu bez interfejsu API
- Aplikacja frontonu z interfejsem API
- Aplikacje platformy Blazor
Token wdrożenia
Interfejs wiersza polecenia swa obsługuje wdrażanie przy użyciu tokenu wdrożenia w celu włączenia konfiguracji w środowiskach ciągłej integracji/ciągłego wdrażania.
Token wdrożenia można uzyskać z:
Witryna Azure Portal: → statycznej aplikacji internetowej → wystąpienia → — omówienie → Zarządzanie tokenem wdrożenia
Interfejs wiersza polecenia platformy
secrets list
Azure: za pomocą polecenia:az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
Interfejs wiersza polecenia usługi Azure Static Web Apps: za pomocą
deploy
polecenia:swa deploy --print-token
Następnie możesz użyć wartości tokenu z wartością --deployment-token <TOKEN>
lub możesz utworzyć zmienną środowiskową o nazwie SWA_CLI_DEPLOYMENT_TOKEN
i ustawić ją na token wdrożenia.
Ważne
Nie przechowuj tokenów wdrażania w repozytorium publicznym.
Wdrażanie aplikacji frontonu bez interfejsu API
Aplikację frontonu można wdrożyć bez interfejsu API w usłudze Azure Static Web Apps. Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom swa build
lub zapoznaj się z instrukcjami kompilacji aplikacji.
Wybierz opcję, która najlepiej odpowiada twoim potrzebom w celu skonfigurowania wdrożenia
Opcja 1. W folderze kompilacji, który chcesz wdrożyć, uruchom polecenie deploy:
cd build/ swa deploy
Uwaga
Folder kompilacji musi zawierać zawartość statyczną aplikacji, która ma zostać wdrożona.
Opcja 2. Można również wdrożyć określony folder:
Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom
swa build
lub zapoznaj się z instrukcjami kompilacji aplikacji.Wdróż aplikację:
swa deploy ./my-dist
Wdrażanie aplikacji frontonu za pomocą interfejsu API
Wykonaj poniższe kroki, aby wdrożyć aplikację z punktami końcowymi interfejsu API.
Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom
swa build
lub zapoznaj się z instrukcjami kompilacji aplikacji.Upewnij się, że wersja środowiska uruchomieniowego języka interfejsu API w pliku staticwebapp.config.json jest poprawnie ustawiona, na przykład:
{ "platform": { "apiRuntime": "node:16" } }
Uwaga
Jeśli projekt nie ma pliku staticwebapp.config.json , dodaj go w
outputLocation
folderze.Wdróż aplikację:
swa deploy ./my-dist --api-location ./api
Wdrażanie aplikacji Platformy Blazor
Aplikację Platformy Blazor można wdrożyć, wykonując następujące kroki.
Skompiluj aplikację Blazor w trybie wydania :
dotnet publish -c Release -o bin/publish
W katalogu głównym projektu uruchom polecenie deploy:
swa deploy ./bin/publish/wwwroot --api-location ./Api
Wdrażanie przy użyciu pliku konfiguracji
Uwaga
Ścieżka dla outputLocation
elementu musi być względna względem .appLocation
Jeśli używasz swa-cli.config.json
pliku konfiguracji w projekcie z pojedynczym wpisem konfiguracji, możesz wdrożyć aplikację, wykonując następujące kroki.
Przykład pojedynczego wpisu konfiguracji wygląda podobnie do poniższego fragmentu kodu.
{
"configurations": {
"my-app": {
"appLocation": "./",
"apiLocation": "api",
"outputLocation": "frontend",
"start": {
"outputLocation": "frontend"
},
"deploy": {
"outputLocation": "frontend"
}
}
}
}
Jeśli aplikacja frontonu wymaga kroku kompilacji, uruchom
swa build
lub zapoznaj się z instrukcjami kompilacji aplikacji.Wdróż aplikację.
swa deploy
Jeśli masz wiele wpisów konfiguracji, możesz podać identyfikator wpisu, aby określić, który z nich ma być używany:
swa deploy my-otherapp
Opcje
Poniżej przedstawiono opcje, których można użyć z usługą swa deploy
:
-a, --app-location <path>
: folder zawierający kod źródłowy aplikacji frontonu (wartość domyślna: ".
")-i, --api-location <path>
: folder zawierający kod źródłowy aplikacji interfejsu API-O, --output-location <path>
: folder zawierający wbudowane źródło aplikacji frontonu. Ścieżka jest względna (--app-location
wartość domyślna: ".
")-w, --swa-config-location <swaConfigLocation>
: katalog, w którym znajduje się plik staticwebapp.config.json-d, --deployment-token <secret>
: token tajny używany do uwierzytelniania w usłudze Static Web Apps-dr, --dry-run
: symulować proces wdrażania bez faktycznego uruchomienia go (ustawienie domyślne:false
)-pt, --print-token
: wydrukuj token wdrożenia (wartość domyślna:false
)--env [environment]
: typ środowiska wdrażania, w którym ma zostać wdrożony projekt (domyślnie: "preview
")-S, --subscription-id <subscriptionId>
: Identyfikator subskrypcji platformy Azure używany przez ten projekt (domyślnie:process.env.AZURE_SUBSCRIPTION_ID
)-R, --resource-group <resourceGroupName>
: Grupa zasobów platformy Azure używana przez ten projekt-T, --tenant-id <tenantId>
: Identyfikator dzierżawy platformy Azure (ustawienie domyślne:process.env.AZURE_TENANT_ID
)-C, --client-id <clientId>
: Identyfikator klienta platformy Azure-CS, --client-secret <clientSecret>
: Wpis tajny klienta platformy Azure-n, --app-name <appName>
: Nazwa aplikacji statycznej aplikacji internetowej platformy Azure-cc, --clear-credentials
: wyczyść utrwalone poświadczenia przed zalogowaniem (ustawienie domyślne:false
)-u, --use-keychain
: włącz przy użyciu natywnego łańcucha kluczy systemu operacyjnego dla poświadczeń trwałych (ustawienie domyślne:true
)-nu, --no-use-keychain
: wyłącz przy użyciu natywnego łańcucha kluczy systemu operacyjnego-h, --help
: wyświetla pomoc dla polecenia
Użycie
Wdrażanie przy użyciu tokenu wdrożenia.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Wdrażanie przy użyciu tokenu wdrożenia ze zmiennych środowiskowych.
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Wdrażanie przy użyciu swa-cli.config.json
pliku
swa deploy
swa deploy myconfig
Wydrukuj token wdrożenia.
swa deploy --print-token
Wdrażanie w określonym środowisku.
swa deploy --env production