Bagikan melalui


Referensi CLI Azure Static Web Apps

Referensi perintah CLI Azure Static Web Apps.

Commands

Command Description Type Status
swa login Masuk ke Azure. SWA Core GA
swa init Mengonfigurasi proyek Azure Static Web Apps baru. SWA Core GA
swa build Membangun aplikasi. Jika Anda memiliki aplikasi Node.js, aplikasi akan menginstal dependensi terlebih dahulu. SWA Core GA
swa start Mulai emulator Azure Static Web Apps dari direktori atau ikat ke server dev yang sedang berjalan. SWA Core GA
swa deploy Sebarkan proyek saat ini ke Azure Static Web Apps. SWA Core GA
swa db Buat dan edit konfigurasi koneksi database Static Web Apps Anda. SWA Core GA

Global Parameters

Parameter Summary
--version, -v Tampilkan nomor versi.
--verbose, --V [level] Aktifkan output verbose. Nilai tingkat meliputi silly, info, log (default), dan silent.
--config, -c [path] Jalur ke file swa-cli.config.json.
--config-name, -cn Konfigurasi yang digunakan oleh CLI.
--print-config, -g Cetak semua opsi yang diselesaikan. Defaultnya adalah false.
--help, -h Tampilkan bantuan peka konteks.

swa login

Masuk ke Azure.

Autentikasi dengan Azure untuk mendapatkan token penyebaran untuk Azure Static Web Apps, menggunakan swa deploy perintah .

Syntax

swa login
          [--subscription-id]
          [--resource-group]
          [--tenant-id]
          [--client-id]
          [--client-secret]
          [--app-name]
          [--clear-credentials]
          [--use-keychain]
          [--no-use-keychain]

Examples

Contoh 1: Masuk interaktif ke Azure

swa login

Parameters

--subscription-id, -S

ID langganan Azure yang digunakan oleh proyek ini. Defaultnya adalah process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Nama grup sumber daya. Anda dapat mengonfigurasi grup default menggunakan az configure --defaults group=<name>.

--tenant-id, -T

ID penyewa Azure. Defaultnya adalah process.env.AZURE_TENANT_ID.

--client-id, -C

ID klien Azure.

--client-secret, -CS

Rahasia klien Azure.

--app-name, -n

Nama aplikasi Azure Static Web Apps.

--clear-credentials -cc

Hapus kredensial yang dipertahankan sebelum masuk. Defaultnya adalah false.

--use-keychain, -u

Gunakan rantai kunci asli sistem operasi untuk kredensial persisten. Defaultnya adalah true.

--no-use-keychain, -nu

Nonaktifkan penggunaan rantai kunci asli sistem operasi.

Global Parameters

swa init

Mengonfigurasi proyek Azure Static Web Apps baru.

Mengonfigurasi proyek Azure Static Web Apps baru dengan CLI Static Web Apps. Mode interaktif meminta nama konfigurasi, mendeteksi pengaturan proyek Anda dan kerangka kerja yang digunakan. Setelah selesai, aplikasi web statis baru dibuat dan swa-cli.config.json file dibuat di direktori saat ini.

Anda dapat menjalankan swa init beberapa kali untuk membuat konfigurasi yang berbeda untuk proyek Anda. Anda mungkin ingin melakukan ini jika Anda mengerjakan monorepo dan ingin mengonfigurasi proyek yang berbeda.

File konfigurasi yang dihasilkan digunakan di setiap perintah yang Anda jalankan dengan CLI Static Web Apps. Jika Anda memiliki beberapa konfigurasi bernama, Anda dapat menggunakan argumen atau --config-name opsi posisi untuk menentukan konfigurasi mana yang ingin Anda gunakan.

Berikut ini adalah contoh konfigurasi yang dihasilkan oleh init perintah:

{
  "$schema": "https://aka.ms/azure/static-web-apps-cli/schema",
  "configurations": {
    "myApp": {
      "appLocation": ".",
      "apiLocation": "api",
      "outputLocation": "dist",
      "appBuildCommand": "npm run build",
      "apiBuildCommand": "npm run build --if-present",
      "run": "npm run dev",
      "appDevserverUrl": "http://localhost:8080"
    }
  }
}

Syntax

swa init
          [--yes]

Examples

Contoh 1: Buat konfigurasi baru secara interaktif.

swa init

Contoh 2: Buat konfigurasi baru menggunakan nilai default untuk semua opsi.

swa init --yes

Contoh 3: Inisialisasi proyek menggunakan konfigurasi bernama "myApp" dari file swa-cli.config.json.

swa init --config-name myApp

Parameters

--yes, -y

Menjawab "ya" untuk semua perintah, yang menonaktifkan mode interaktif. Defaultnya adalah false.

Global Parameters

swa build

Membangun aplikasi. Jika Anda memiliki aplikasi Node.js, aplikasi akan menginstal dependensi terlebih dahulu.

Kasus penggunaan umum meliputi: Menginstal dependensi untuk aplikasi front-end dan API dan menjalankan perintah build untuk keduanya, hanya membangun proyek front-end atau API jika yang lain tidak memiliki langkah build.

Syntax

swa build
          [--app-location]
          [--api-location]
          [--output-location]
          [--app-build-command]
          [--api-build-command]
          [--auto]

Examples

Contoh 1: Buat aplikasi, dan instal dependensi secara opsional.

swa build

Contoh 2: Mendeteksi cara membuat aplikasi Anda dan menjalankan perintah build setelah menginstal dependensi.

swa build --auto

Contoh 3: Instal dependensi untuk aplikasi front-end.

swa build --app-location ./client

Contoh 4: Gunakan konfigurasi bernama myApp di swa-cli.config.json untuk membangun aplikasi front-end Anda.

swa build myApp

Parameters

--app-location, -a

Folder yang berisi kode sumber aplikasi front-end. Defaultnya adalah ..

--api-location, -i

Folder yang berisi kode sumber aplikasi API.

--output-location, -O

Folder yang berisi sumber bawaan aplikasi front-end. Jalur ini relatif terhadap --app-location. Defaultnya adalah ..

--app-build-command, -A

Membangun aplikasi front-end.

--api-build-command, -I

Membangun aplikasi API.

--auto

Secara otomatis mendeteksi cara membangun aplikasi front-end dan API Anda. Defaultnya adalah false.

Global Parameters

swa start

Mulai emulator Azure Static Web Apps dari direktori atau ikat ke server dev yang sedang berjalan.

Melayani dari folder

Secara default, CLI memulai dan menyajikan konten statis apa pun dari direktori ./kerja saat ini :

swa start

Jika folder artefak aplikasi statis Anda berada di bawah folder yang berbeda (misalnya, ./my-dist), jalankan CLI dan berikan folder tersebut:

swa start ./my-dist

Melayani dari server dev

Saat mengembangkan aplikasi front-end Anda secara lokal, sering kali berguna untuk menggunakan server dev yang dilengkapi dengan CLI kerangka kerja front end Anda. Menggunakan CLI kerangka kerja memungkinkan Anda menggunakan fitur bawaan seperti "livereload" dan HMR (penggantian modul panas).

Untuk menggunakan SWA CLI dengan server dev lokal Anda, ikuti dua langkah berikut:

  1. Mulai server dev lokal Anda seperti biasa. Misalnya, jika Anda menggunakan Angular: ng serve (atau npm start).

  2. Di terminal terpisah, jalankan swa start dengan URI yang disediakan oleh server dev, dalam format berikut:

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Berikut adalah daftar port dan perintah default yang digunakan oleh beberapa server dev populer:

Tool Port Command
Angular 4200 swa start http://localhost:4200
Blazor WebAssembly 5000 swa start http://localhost:5000
Gatsby 8000 swa start http://localhost:8000
Hugo 1313 swa start http://localhost:1313
Next.js 3000 swa start http://localhost:3000
React (Buat Aplikasi React) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Alih-alih memulai server dev secara terpisah, Anda dapat memberikan perintah startup ke CLI.

# npm start script (React)
swa start http://localhost:3000 --run "npm start"

# dotnet watch (Blazor)
swa start http://localhost:5000 --run "dotnet watch run"

# Jekyll
swa start http://localhost:4000 --run "jekyll serve"

# custom script
swa start http://localhost:4200 --run "./startup.sh"

Kemudian akses aplikasi dengan layanan yang ditimulasi dari http://localhost:4280

Menyajikan aplikasi front-end dan API

Jika proyek Anda menyertakan fungsi API, CLI memeriksa apakah Azure Functions Core Tools diinstal dan tersedia. Jika tidak, CLI mengunduh dan menginstal versi yang tepat dari Azure Functions Core Tools.

Memulai server API secara otomatis

Jalankan CLI dan berikan folder yang berisi backend API (proyek Aplikasi Azure Functions yang valid):

# static content plus an API
swa start ./my-dist --api-location ./api

# front-end dev server plus an API
swa start http://localhost:3000 --api-location ./api

Mulai server API secara manual

Saat mengembangkan backend Anda secara lokal, terkadang berguna untuk menjalankan Azure Functions Core Tools secara terpisah untuk melayani API Anda. Ini memungkinkan Anda menggunakan fitur bawaan seperti penelusuran kesalahan dan dukungan editor yang kaya.

Untuk menggunakan CLI dengan server dev backend API lokal Anda, ikuti dua langkah berikut:

  1. Mulai API Anda menggunakan Azure Functions Core Tools: func host start atau mulai penelusuran kesalahan di Visual Studio Code.

  2. Di terminal terpisah, jalankan SWA CLI dengan --api-location bendera dan URI server API lokal, dalam format berikut:

swa start ./my-dist --api-location http://localhost:7071

Database connections

Untuk memulai aplikasi Anda dengan koneksi database, gunakan --data-api-location parameter dan arahkan ke folder yang berisi file staticwebapp.database.config.json .

swa start ./src --data-api-location swa-db-connections

Syntax

swa start

Examples

Contoh 1: Mulai aplikasi dengan default.

swa start

Contoh 2: Mulai aplikasi dengan server dev ujung depan.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT>

Contoh 3: Mulai aplikasi dengan server dev ujung depan dan ujung belakang.

swa start http://<APP_DEV_SERVER_HOST>:<APP_DEV_SERVER_PORT> --api-location http://localhost:7071

Parameters

--app-location, -a <PATH>

Folder yang berisi kode sumber aplikasi front end. Defaultnya adalah ..

--api-location, -i <PATH>

Folder yang berisi kode sumber aplikasi API.

--output-location, -O <PATH>

Folder yang berisi sumber bawaan aplikasi front end. Jalur relatif terhadap --app-location. Defaultnya adalah ..

--data-api-location

Folder yang berisi file staticwebapp.database.config.json .

--app-devserver-url, -D <URL>

Sambungkan ke server dev aplikasi di URL ini alih-alih menggunakan lokasi output.

--api-devserver-url, -is <URL>

Sambungkan ke server API di URL ini alih-alih menggunakan lokasi output.

--api-port, -j <API_PORT>

Port server API diteruskan ke func start. Defaultnya adalah 7071.

--host, -q <HOST>

Alamat host yang digunakan untuk server dev CLI. Defaultnya adalah localhost.

--port, -p <PORT>

Nilai port yang digunakan untuk server dev CLI. Bawaan 4280.

--ssl, -s

Sajikan aplikasi front end dan API melalui HTTPS. Defaultnya adalah false.

--ssl-cert, -e <SSL_CERT_LOCATION>

Sertifikat SSL (.crt) yang digunakan saat mengaktifkan HTTPS.

--ssl-key, -k <SSL_KEY_LOCATION>

Kunci SSL (.key) yang digunakan saat mengaktifkan HTTPS.

--run, -r <STARTUP_SCRIPT>

Lokasi perintah shell kustom atau file skrip untuk dijalankan saat startup.

--devserver-timeout, -t <TIME>

Jumlah waktu untuk menunggu (dalam detik) saat menyambungkan ke server dev aplikasi ujung depan atau server API. Defaultnya adalah 60.

--swa-config-location, -w <SWA_CONFIG_FILE_LOCATION>

Lokasi staticwebapp.config.json direktori file.

--open, -o

Buka browser ke server dev. Secara default adalah false.

--func-args, -f <FUNCTION_ARGUMENTS>

Teruskan argumen tambahan ke func start perintah .

Global Parameters

swa deploy

Sebarkan proyek saat ini ke Azure Static Web Apps.

Kasus penggunaan umum meliputi:

  1. Menyebarkan aplikasi ujung depan tanpa API

  2. Menyebarkan aplikasi ujung depan dengan API

  3. Menyebarkan aplikasi Blazor

Deployment token

SWA CLI mendukung penyebaran menggunakan token penyebaran. Ini sering berguna saat menyebarkan dari lingkungan CI/CD. Anda bisa mendapatkan token penyebaran baik dari:

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

  • Jika Anda menggunakan Azure CLI, Anda bisa mendapatkan token penyebaran proyek Anda menggunakan perintah berikut:

az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
  • Jika Anda menggunakan Azure Static Web Apps CLI, Anda bisa menggunakan perintah berikut:
swa deploy --print-token

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

Important

Jangan simpan token penyebaran di repositori publik. Nilai ini harus tetap menjadi rahasia.

Menyebarkan aplikasi ujung depan tanpa API

Anda dapat menyebarkan aplikasi ujung depan tanpa API ke Azure Static Web Apps dengan menjalankan langkah-langkah berikut:

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

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

cd build/
swa deploy

Note

Folder build harus berisi konten statis aplikasi yang ingin Anda sebarkan.

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

Untuk menyebarkan aplikasi ujung depan dan API ke Azure Static Web Apps, gunakan langkah-langkah berikut:

  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 staticwebapp.config.json file diatur dengan benar, misalnya:

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

Note

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

  1. Sebarkan aplikasi Anda:
swa deploy ./my-dist --api-location ./api

Menyebarkan aplikasi Blazor

Untuk menyebarkan aplikasi Blazor dengan API opsional ke Azure Static Web Apps, gunakan langkah-langkah berikut:

  1. Buat aplikasi Blazor Anda dalam mode Rilis :
dotnet publish -c Release -o bin/publish
  1. Dari akar proyek Anda, jalankan deploy perintah :
swa deploy ./bin/publish/wwwroot --api-location ./Api

Menyebarkan menggunakan swa-cli.config.json

Note

Jalur untuk outputLocation harus relatif terhadap appLocation.

Jika Anda menggunakan swa-cli.config.json file konfigurasi di proyek Anda dan memiliki satu entri konfigurasi, gunakan konfigurasi seperti ini:

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}

Kemudian Anda dapat menyebarkan aplikasi dengan menjalankan langkah-langkah berikut:

  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

Syntax

swa deploy
           [--yes]

Examples

Contoh 1: Menyebarkan menggunakan token penyebaran.

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

Contoh 2: Menyebarkan menggunakan token penyebaran dari variabel lingkungan

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

Contoh 3: Menyebarkan menggunakan swa-cli.config.json file

swa deploy
swa deploy myconfig

Contoh 4: Mencetak token penyebaran

swa deploy --print-token

Contoh 5: Menyebarkan ke lingkungan tertentu

swa deploy --env production

Global Parameters

swa db

Buat dan edit konfigurasi koneksi database Static Web Apps Anda.

Gunakan swa db init untuk menghasilkan sampel folder swa-db-connections , bersama dengan staticwebapp.database.config.json file konfigurasi. Jika Anda menggunakan Cosmos DB untuk database NoSQL, ini juga menghasilkan file skema sampel staticwebapp.database.schema.gql .

Syntax

swa db init --database-type <DATABASE_TYPE>

Examples

Contoh 1: Buat folder konfigurasi koneksi database sampel untuk database Azure SQL.

swa db init --database-type mssql

Parameters

--database-type, -t <DATABASE_TYPE>

(Diperlukan) Jenis database yang ingin Anda sambungkan (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Nama folder untuk mengambil alih nama folder konfigurasi koneksi database konvensi (pastikan Anda memperbarui file alur kerja CI/CD yang sesuai). Nilai defaultnya adalah swa-db-connections.

---connection-string, -cs <CONNECTION_STRING>

string koneksi database yang ingin Anda sambungkan.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Database akun Cosmos DB yang ingin Anda sambungkan (hanya diperlukan jika menggunakan cosmosdb_nosql jenis database).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Kontainer akun Cosmos DB yang ingin Anda sambungkan.

--help, -h

Tampilkan bantuan untuk perintah.

Global Parameters