Aracılığıyla paylaş


Azure Static Web Apps CLI ile statik web uygulaması dağıtma

Önemli

Statik Web Uygulamaları CLI kullanılarak yapılan dağıtımların güvenliğini artırmak için, 15 Ocak 2025 tarihine kadar Statik Web Uygulamaları CLI'nın en son sürümüne (2.0.2) yükseltmenizi gerektiren uyumsuz bir değişiklik yapılmıştır.

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ı: Ana Sayfa → Statik Web Uygulaması → Örneğiniz → Genel Bakış → Dağıtım belirtecini yönetme

  • Azure CLI: secrets list komutunu kullanarak

    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, swa build komutunu çalıştırın veya uygulamanızın derleme yönergelerine 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

    Build klasörü, dağıtım için uygulamanızın statik içeriğini içermelidir.

  • 2. Seçenek: Belirli bir klasörü de dağıtabilirsiniz:

    1. Ön uç uygulamanız bir derleme adımı gerektiriyorsa, swa build komutunu çalıştırın veya uygulamanızın derleme yönergelerine başvurun.

    2. Uygulamanızı dağıtın:

    swa deploy ./my-dist
    

Ön uç uygulamasını bir API ile dağıtma

API uç noktaları olan bir uygulamayı dağıtmak için aşağıdaki adımları kullanın.

  1. Ön uç uygulamanız bir derleme adımı gerektiriyorsa, swa build komutunu çalıştırın veya uygulamanızın derleme yönergelerine başvurun.

  2. 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.

  3. Uygulamanızı dağıtın:

    swa deploy ./my-dist --api-location ./api
    

Blazor uygulaması dağıtın

Aşağıdaki adımları kullanarak bir Blazor uygulaması dağıtabilirsiniz.

  1. Blazor uygulamanızı Yayın modunda oluşturun:

    dotnet publish -c Release -o bin/publish
    
  2. 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

outputLocation yolu appLocation göreli 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.

Referans olarak, 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"
      }
    }
  }
}
  1. Ön uç uygulamanız bir derleme adımı gerektiriyorsa, swa build komutunu çalıştırın veya uygulamanızın derleme yönergelerine başvurun.

  2. 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 deployseç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. Dosya yolu, --app-location ile göreli olarak belirlenir (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 belirteç
  • -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 anahtarı
  • -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ğıtın.

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/

swa-cli.config.json dosyasını kullanarak dağıtma

swa deploy
swa deploy myconfig

Dağıtım belirtecini yazdırın.

swa deploy --print-token

Belirli bir ortama dağıt.

swa deploy --env production

Sonraki adımlar