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:
Jika aplikasi front-end Anda memerlukan langkah build, jalankan
swa build
atau lihat instruksi build aplikasi Anda.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.
Jika aplikasi front-end Anda memerlukan langkah build, jalankan
swa build
atau lihat instruksi build aplikasi Anda.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
.Sebarkan aplikasi Anda:
swa deploy ./my-dist --api-location ./api
Menyebarkan aplikasi Blazor
Anda dapat menyebarkan aplikasi Blazor menggunakan langkah-langkah berikut.
Buat aplikasi Blazor Anda dalam mode Rilis :
dotnet publish -c Release -o bin/publish
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"
}
}
}
}
Jika aplikasi front-end Anda memerlukan langkah build, jalankan
swa build
atau lihat instruksi build aplikasi Anda.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