Bagikan melalui


Menyebarkan aplikasi web statis dengan Azure Static Web Apps CLI

Penting

Untuk meningkatkan keamanan penyebaran dari CLI Static Web Apps, perubahan yang melanggar diperkenalkan yang mengharuskan Anda untuk meningkatkan ke versi terbaru (2.0.2) dari CLI Static Web Apps pada 15 Jan 2025.

Azure Static Web Apps CLI (SWA CLI) menampilkan deploy perintah untuk menyebarkan proyek saat ini ke Azure Static Web Apps.

Skenario penyebaran umum meliputi:

  • Aplikasi front-end tanpa API
  • Aplikasi front-end dengan API
  • Aplikasi Blazor

Token penyebaran

SWA CLI mendukung penyebaran menggunakan token penyebaran untuk mengaktifkan penyiapan di lingkungan CI/CD.

Anda bisa mendapatkan token penyebaran dari:

  • portal Azure: Home → Static Web App → Ringkasan → Instans Anda → Mengelola token penyebaran

  • Azure CLI: Menggunakan secrets list perintah:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Azure Static Web Apps CLI: Menggunakan deploy perintah:

    swa deploy --print-token
    

Anda kemudian dapat menggunakan nilai token dengan --deployment-token <TOKEN> atau Anda dapat membuat variabel lingkungan yang disebut SWA_CLI_DEPLOYMENT_TOKEN dan mengaturnya ke token penyebaran.

Penting

Jangan menyimpan token penyebaran di repositori publik.

Menyebarkan aplikasi front-end tanpa API

Anda dapat menyebarkan aplikasi front-end tanpa API ke Azure Static Web Apps. Jika aplikasi front-end Anda memerlukan langkah build, jalankan swa build atau lihat instruksi build aplikasi Anda.

Pilih opsi yang paling sesuai dengan kebutuhan Anda untuk mengonfigurasi penyebaran Anda

  • Opsi 1: Dari folder build yang ingin Anda sebarkan, jalankan perintah sebarkan:

    cd build/
    swa deploy
    

    Catatan

    Folder build harus berisi konten statis aplikasi Anda untuk disebarkan.

  • Opsi 2: Anda juga dapat menyebarkan folder tertentu:

    1. Jika aplikasi front-end Anda memerlukan langkah build, jalankan swa build atau lihat instruksi build aplikasi Anda.

    2. Sebarkan aplikasi Anda:

    swa deploy ./my-dist
    

Menyebarkan aplikasi front-end dengan API

Gunakan langkah-langkah berikut untuk menyebarkan aplikasi yang memiliki titik akhir API.

  1. Jika aplikasi front-end Anda memerlukan langkah build, jalankan swa build atau lihat instruksi build aplikasi Anda.

  2. Pastikan versi runtime bahasa API dalam file staticwebapp.config.json diatur dengan benar, misalnya:

    {
      "platform": {
        "apiRuntime": "node:16"
      }
    }
    

    Catatan

    Jika proyek Anda tidak memiliki file staticwebapp.config.json , tambahkan file di bawah folder Anda outputLocation .

  3. Sebarkan aplikasi Anda:

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

Menyebarkan aplikasi Blazor

Anda dapat menyebarkan aplikasi Blazor menggunakan langkah-langkah berikut.

  1. Buat aplikasi Blazor Anda dalam mode Rilis :

    dotnet publish -c Release -o bin/publish
    
  2. Dari akar proyek Anda, jalankan perintah sebarkan:

    swa deploy ./bin/publish/wwwroot --api-location ./Api
    

Menyebarkan menggunakan file konfigurasi

Catatan

Jalur untuk outputLocation harus relatif terhadap appLocation.

Jika Anda menggunakan swa-cli.config.json file konfigurasi di proyek Anda dengan satu entri konfigurasi, maka Anda dapat menyebarkan aplikasi dengan menjalankan langkah-langkah berikut.

Sebagai referensi, contoh entri konfigurasi tunggal terlihat seperti cuplikan kode berikut.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Jika aplikasi front-end Anda memerlukan langkah build, jalankan swa build atau lihat instruksi build aplikasi Anda.

  2. Sebarkan aplikasi Anda.

swa deploy

Jika Anda memiliki beberapa entri konfigurasi, Anda dapat memberikan ID entri untuk menentukan mana yang akan digunakan:

swa deploy my-otherapp

Opsi

Berikut ini adalah opsi yang dapat Anda gunakan dengan swa deploy:

  • -a, --app-location <path>: folder yang berisi kode sumber aplikasi front-end (default: ".")
  • -i, --api-location <path>: folder yang berisi kode sumber aplikasi API
  • -O, --output-location <path>: folder yang berisi sumber bawaan aplikasi front-end. Jalur relatif terhadap --app-location (default: ".")
  • -w, --swa-config-location <swaConfigLocation>: direktori tempat file staticwebapp.config.json berada
  • -d, --deployment-token <secret>: token rahasia yang digunakan untuk mengautentikasi dengan Static Web Apps
  • -dr, --dry-run: mensimulasikan proses penyebaran tanpa benar-benar menjalankannya (default: false)
  • -pt, --print-token: cetak token penyebaran (default: false)
  • --env [environment]: jenis lingkungan penyebaran tempat untuk menyebarkan proyek (default: "preview")
  • -S, --subscription-id <subscriptionId>: ID langganan Azure yang digunakan oleh proyek ini (default: process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: Grup sumber daya Azure yang digunakan oleh proyek ini
  • -T, --tenant-id <tenantId>: ID penyewa Azure (default: process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: ID klien Azure
  • -CS, --client-secret <clientSecret>: Rahasia klien Azure
  • -n, --app-name <appName>: Nama aplikasi Azure Static Web App
  • -cc, --clear-credentials: hapus kredensial yang dipertahankan sebelum masuk (default: false)
  • -u, --use-keychain: aktifkan menggunakan rantai kunci asli sistem operasi untuk kredensial persisten (default: true)
  • -nu, --no-use-keychain: nonaktifkan menggunakan rantai kunci asli sistem operasi
  • -h, --help: tampilkan bantuan untuk perintah

Penggunaan

Menyebarkan menggunakan token penyebaran.

swa deploy ./dist/ --api-location ./api/ --deployment-token <TOKEN>

Sebarkan menggunakan token penyebaran dari variabel lingkungan.

SWA_CLI_DEPLOYMENT_TOKEN=123 swa deploy ./dist/ --api-location ./api/

Menyebarkan menggunakan swa-cli.config.json file

swa deploy
swa deploy myconfig

Cetak token penyebaran.

swa deploy --print-token

Sebarkan ke lingkungan tertentu.

swa deploy --env production

Langkah berikutnya