Azure Static Web Apps CLI ile statik web uygulaması dağıtma
Azure Static Web Apps CLI (SWA CLI), geçerli projeyi Azure Static Web Apps'e dağıtmak için komutunu içerir deploy
.
Yaygın dağıtım senaryoları şunlardır:
- API'siz bir ön uç uygulaması
- API'ye sahip bir ön uç uygulaması
- Blazor uygulamaları
Dağıtım belirteci
SWA CLI, CI/CD ortamlarında kurulumları etkinleştirmek için dağıtım belirteci kullanarak dağıtmayı destekler.
Dağıtım belirtecini şu kaynaktan alabilirsiniz:
Azure portalı: Dağıtım belirtecini yönetme → Örneğinize → Genel Bakış → Giriş → Statik Web Uygulaması
Azure CLI: Komutunu kullanarak
secrets list
:az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
Azure Static Web Apps CLI: komutunu kullanarak
deploy
:swa deploy --print-token
Ardından ile belirteç değerini --deployment-token <TOKEN>
kullanabilir veya adlı SWA_CLI_DEPLOYMENT_TOKEN
bir ortam değişkeni oluşturabilir ve bunu dağıtım belirteci olarak ayarlayabilirsiniz.
Önemli
Dağıtım belirteçlerini genel bir depoda depolamayın.
API olmadan ön uç uygulaması dağıtma
Api'siz bir ön uç uygulamasını Azure Static Web Apps'e dağıtabilirsiniz. Ön uç uygulamanız bir derleme adımı gerektiriyorsa, uygulamanızın derleme yönergelerini çalıştırın swa build
veya başvurun.
Dağıtımınızı yapılandırmak için gereksinimlerinize en uygun seçeneği belirtin
1. Seçenek: Dağıtmak istediğiniz derleme klasöründen deploy komutunu çalıştırın:
cd build/ swa deploy
Not
Derleme klasörü dağıtılacak uygulamanızın statik içeriğini içermelidir.
2. Seçenek: Belirli bir klasörü de dağıtabilirsiniz:
Ön uç uygulamanız bir derleme adımı gerektiriyorsa, uygulamanızın derleme yönergelerini çalıştırın
swa build
veya başvurun.Uygulamanızı dağıtın:
swa deploy ./my-dist
API ile ön uç uygulaması dağıtma
API uç noktaları olan bir uygulamayı dağıtmak için aşağıdaki adımları kullanın.
Ön uç uygulamanız bir derleme adımı gerektiriyorsa, uygulamanızın derleme yönergelerini çalıştırın
swa build
veya başvurun.staticwebapp.config.json dosyasındaki API dili çalışma zamanı sürümünün doğru ayarlandığından emin olun, örneğin:
{ "platform": { "apiRuntime": "node:16" } }
Not
Projenizde staticwebapp.config.json dosyası yoksa klasörünüzün
outputLocation
altına bir dosya ekleyin.Uygulamanızı dağıtın:
swa deploy ./my-dist --api-location ./api
Blazor uygulaması dağıtma
Aşağıdaki adımları kullanarak bir Blazor uygulaması dağıtabilirsiniz.
Blazor uygulamanızı Sürüm modunda oluşturun:
dotnet publish -c Release -o bin/publish
Projenizin kökünden deploy komutunu çalıştırın:
swa deploy ./bin/publish/wwwroot --api-location ./Api
Yapılandırma dosyası kullanarak dağıtma
Not
için outputLocation
yolu ile göreli appLocation
olmalıdır.
Projenizde tek bir yapılandırma girdisi olan bir swa-cli.config.json
yapılandırma dosyası kullanıyorsanız aşağıdaki adımları çalıştırarak uygulamanızı dağıtabilirsiniz.
Başvuru için, tek bir yapılandırma girişi örneği aşağıdaki kod parçacığına benzer.
{
"configurations": {
"my-app": {
"appLocation": "./",
"apiLocation": "api",
"outputLocation": "frontend",
"start": {
"outputLocation": "frontend"
},
"deploy": {
"outputLocation": "frontend"
}
}
}
}
Ön uç uygulamanız bir derleme adımı gerektiriyorsa, uygulamanızın derleme yönergelerini çalıştırın
swa build
veya başvurun.Uygulamanızı dağıtın.
swa deploy
Birden çok yapılandırma girdiniz varsa, hangisinin kullanılacağını belirtmek için giriş kimliğini belirtebilirsiniz:
swa deploy my-otherapp
Seçenekler
Ile kullanabileceğiniz swa deploy
seçenekler şunlardır:
-a, --app-location <path>
: ön uç uygulamasının kaynak kodunu içeren klasör (varsayılan: ".
")-i, --api-location <path>
: API uygulamasının kaynak kodunu içeren klasör-O, --output-location <path>
: ön uç uygulamasının yerleşik kaynağını içeren klasör. Yol görelidir--app-location
(varsayılan: ".
")-w, --swa-config-location <swaConfigLocation>
: staticwebapp.config.json dosyasının bulunduğu dizin-d, --deployment-token <secret>
: Statik Web Uygulamaları ile kimlik doğrulaması yapmak için kullanılan gizli dizi belirteci-dr, --dry-run
: gerçekten çalıştırmadan bir dağıtım işleminin benzetimini yap (varsayılan:false
)-pt, --print-token
: dağıtım belirtecini yazdırın (varsayılan:false
)--env [environment]
: projenin dağıtılacağı dağıtım ortamının türü (varsayılan: "preview
")-S, --subscription-id <subscriptionId>
: Bu proje tarafından kullanılan Azure abonelik kimliği (varsayılan:process.env.AZURE_SUBSCRIPTION_ID
)-R, --resource-group <resourceGroupName>
: Bu proje tarafından kullanılan Azure kaynak grubu-T, --tenant-id <tenantId>
: Azure kiracı kimliği (varsayılan:process.env.AZURE_TENANT_ID
)-C, --client-id <clientId>
: Azure istemci kimliği-CS, --client-secret <clientSecret>
: Azure istemci gizli dizisi-n, --app-name <appName>
: Azure Static Web App uygulama adı-cc, --clear-credentials
: oturum açmadan önce kalıcı kimlik bilgilerini temizleyin (varsayılan:false
)-u, --use-keychain
: kalıcı kimlik bilgileri için işletim sistemi yerel anahtar zincirini kullanmayı etkinleştirin (varsayılan:true
)-nu, --no-use-keychain
: işletim sistemi yerel anahtar zincirini kullanmayı devre dışı bırakma-h, --help
: komut için yardım görüntüleme
Kullanım
Dağıtım belirteci kullanarak dağıtma.
swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>
Ortam değişkenlerinden bir dağıtım belirteci kullanarak dağıtın.
SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/
Dosya kullanarak swa-cli.config.json
dağıtma
swa deploy
swa deploy myconfig
Dağıtım belirtecini yazdırın.
swa deploy --print-token
Belirli bir ortama dağıtma.
swa deploy --env production