Aracılığıyla paylaş


Azure Static Web Apps CLI başvurusu

Azure Static Web Apps CLI komutlarının başvurusu.

Commands

Command Description Type Status
swa login Azure'da oturum açın. SWA Core GA
swa init Yeni bir Azure Static Web Apps projesi yapılandırır. SWA Core GA
swa build Uygulamayı oluşturur. Node.js uygulamanız varsa, önce bağımlılıkları yükler. SWA Core GA
swa start Azure Static Web Apps öykünücüsunu bir dizinden başlatın veya çalışan bir geliştirme sunucusuna bağlayın. SWA Core GA
swa deploy Geçerli projeyi Azure Static Web Apps'e dağıtın. SWA Core GA
swa db Statik Web Apps veritabanı bağlantıları yapılandırmanızı oluşturun ve düzenleyin. SWA Core GA

Global Parameters

Parameter Summary
--version, -v Sürüm numarasını görüntüleyin.
--verbose, --V [düzey] Ayrıntılı çıkışı etkinleştirin. Düzey değerleri , , sillyinfo(varsayılan) ve logdeğerlerini içerirsilent.
--config, -c [path] swa-cli.config.json dosyasının yolu.
--config-name, -cn CLI tarafından kullanılan yapılandırma.
--print-config, -g Tüm çözümlenen seçenekleri yazdırın. Varsayılan false değeridir.
--help, -h Bağlama duyarlı yardımı gösterin.

swa login

Azure'da oturum açın.

Komutunu kullanarak Azure Static Web Apps için dağıtım belirteci almak için Azure ile kimlik doğrulamasından geçin swa deploy .

Syntax

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

Examples

Örnek 1: Azure'da etkileşimli oturum açma

swa login

Parameters

--subscription-id, -S

Bu proje tarafından kullanılan Azure abonelik kimliği. Varsayılan değer: process.env.AZURE_SUBSCRIPTION_ID.

--resource-group, -R

Kaynak grubunun adı. Varsayılan grubu az configure --defaults group=<name> kullanarak yapılandırabilirsiniz.

--tenant-id, -T

Azure kiracı kimliği. Varsayılan değer: process.env.AZURE_TENANT_ID.

--client-id, -C

Azure istemci kimliği.

--client-secret, -CS

Azure istemci gizli dizisi.

--app-name, -n

Azure Static Web Apps uygulama adı.

--clear-credentials -cc

Oturum açmadan önce kalıcı kimlik bilgilerini temizleyin. Varsayılan değer: false.

--use-keychain, -u

Kalıcı kimlik bilgileri için işletim sistemi yerel anahtar zincirini kullanın. Varsayılan değer: true.

--no-use-keychain, -nu

İşletim sistemi yerel anahtar zincirinin kullanımını devre dışı bırakın.

Global Parameters

swa init

Yeni bir Azure Static Web Apps projesi yapılandırır.

Static Web Apps CLI ile yeni bir Azure Static Web Apps projesi yapılandırır. Etkileşimli mod sizden bir yapılandırma adı ister, proje ayarlarınızı ve kullanılan çerçeveleri algılar. İşlem tamamlandıktan sonra yeni bir statik web uygulaması oluşturulur ve geçerli dizinde bir swa-cli.config.json dosya oluşturulur.

Projeniz için farklı yapılandırmalar oluşturmak için birden çok kez çalıştırabilirsiniz swa init . Bir monorepo üzerinde çalışıyorsanız ve farklı projeler yapılandırmak istiyorsanız bunu yapmak isteyebilirsiniz.

Oluşturulan yapılandırma dosyası, Static Web Apps CLI ile çalıştırdığınız her komutta kullanılır. Birden çok adlandırılmış yapılandırmanız varsa, hangi yapılandırmayı kullanmak istediğinizi belirtmek için konumsal bağımsız değişkenini veya --config-name seçeneğini kullanabilirsiniz.

Aşağıda, komutu tarafından oluşturulan örnek bir yapılandırma verilmiştir init :

{
  "$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

Örnek 1: Etkileşimli olarak yeni bir yapılandırma oluşturun.

swa init

Örnek 2: Tüm seçenekler için varsayılan değerleri kullanarak yeni bir yapılandırma oluşturun.

swa init --yes

Örnek 3: swa-cli.config.json dosyasından "myApp" adlı yapılandırmayı kullanarak projeyi başlatın.

swa init --config-name myApp

Parameters

--yes, -y

Etkileşimli modu devre dışı bırakmak için tüm istemlere "evet" yanıtını verir. Varsayılan false değeridir.

Global Parameters

swa build

Uygulamayı oluşturur. Node.js uygulamanız varsa, önce bağımlılıkları yükler.

Yaygın kullanım örnekleri şunlardır: Ön uç uygulaması ve API için bağımlılıkları yükleme ve her ikisi için de derleme komutlarını çalıştırma, yalnızca ön uç veya API projesinin derleme adımı yoksa oluşturma.

Syntax

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

Examples

Örnek 1: Uygulamayı oluşturun ve isteğe bağlı olarak bağımlılıkları yükleyin.

swa build

Örnek 2: Bağımlılıkları yükledikten sonra uygulamanızı derlemeyi ve derleme komutlarını çalıştırmayı algılayın.

swa build --auto

Örnek 3: Ön uç uygulaması için bağımlılıkları yükleyin.

swa build --app-location ./client

Örnek 4: Ön uç uygulamanızı oluşturmak için swa-cli.config.json adlı myApp yapılandırmayı kullanın.

swa build myApp

Parameters

--app-location, -a

Ön uç uygulamasının kaynak kodunu içeren klasör. Varsayılan . değeridir.

--api-location, -i

API uygulamasının kaynak kodunu içeren klasör.

--output-location, -O

Ön uç uygulamasının yerleşik kaynağını içeren klasör. Bu yol ile --app-locationgörelidir. Varsayılan . değeridir.

--app-build-command, -A

Ön uç uygulamasını oluşturur.

--api-build-command, -I

API uygulamasını oluşturur.

--auto

Ön uç ve API uygulamalarınızı derlemeyi otomatik olarak algılar. Varsayılan false değeridir.

Global Parameters

swa start

Azure Static Web Apps öykünücüsunu bir dizinden başlatın veya çalışan bir geliştirme sunucusuna bağlayın.

Bir klasörden hizmet sunma

Varsayılan olarak, CLI geçerli çalışma dizininden ./tüm statik içeriği başlatır ve hizmet eder:

swa start

Statik uygulamanızın yapıt klasörü farklı bir klasörün altındaysa (örneğin, ./my-dist) CLI'yi çalıştırın ve şu klasörü sağlayın:

swa start ./my-dist

Geliştirme sunucusundan hizmet sunma

Ön uç uygulamanızı yerel olarak geliştirirken genellikle ön uç çerçevenizin CLI'siyle birlikte gelen geliştirme sunucusunu kullanmak yararlı olur. Çerçeve CLI'sini kullanarak "livereload" ve HMR (sık erişimli modül değiştirme) gibi yerleşik özellikleri kullanabilirsiniz.

SWA CLI'yı yerel geliştirme sunucunuzla kullanmak için şu iki adımı izleyin:

  1. Yerel geliştirme sunucunuzu her zamanki gibi başlatın. Örneğin, Angular kullanıyorsanız: ng serve (veya npm start).

  2. Ayrı bir terminalde, geliştirme sunucusu tarafından sağlanan URI ile aşağıdaki biçimde çalıştırın swa start :

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

Bazı popüler geliştirme sunucuları tarafından kullanılan varsayılan bağlantı noktalarının ve komutların listesi aşağıdadır:

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 (React Uygulaması Oluştur) 3000 swa start http://localhost:3000
Svelte (sirv-cli) 5000 swa start http://localhost:5000
Vue 3000 swa start http://localhost:3000

Geliştirme sunucusunu ayrı olarak başlatmak yerine, CLI'ya başlangıç komutunu sağlayabilirsiniz.

# 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"

Ardından öykünülen hizmetlerle uygulamaya erişin http://localhost:4280

Hem ön uç uygulamasına hem de API'ye hizmet verme

Projeniz API işlevleri içeriyorsa CLI, Azure İşlevleri Çekirdek Araçları'nın yüklü ve kullanılabilir olup olmadığını denetler. Aksi takdirde CLI, Azure İşlevleri Temel Araçları'nın doğru sürümünü indirir ve yükler.

API sunucusunu otomatik olarak başlatma

CLI'yi çalıştırın ve API arka ucu (geçerli bir Azure İşlevleri Uygulama projesi) içeren klasörü sağlayın:

# 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

API sunucusunu el ile başlatma

Arka ucunuzu yerel olarak geliştirirken bazen API'nize hizmet vermek için Azure İşlevleri Core Tools'u ayrı olarak çalıştırmak yararlı olabilir. Bu, hata ayıklama ve zengin düzenleyici desteği gibi yerleşik özellikleri kullanmanıza olanak tanır.

CLI'yi yerel API arka uç geliştirme sunucunuzla kullanmak için şu iki adımı izleyin:

  1. Azure İşlevleri Temel Araçları kullanarak API'nizi başlatın: func host start veya VS Code'da hata ayıklamaya başlayın.

  2. Ayrı bir terminalde SWA CLI'yı --api-location aşağıdaki biçimde yerel API sunucusunun bayrağı ve URI'siyle çalıştırın:

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

Database connections

Uygulamanızı veritabanı bağlantısıyla başlatmak için parametresini --data-api-location kullanın ve staticwebapp.database.config.json dosyasını içeren klasörün üzerine gelin.

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

Syntax

swa start

Examples

Örnek 1: Uygulamayı varsayılan değerlerle başlatın.

swa start

Örnek 2: Uygulamayı bir ön uç geliştirme sunucusuyla başlatın.

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

Örnek 3: Uygulamayı bir ön uç ve arka uç geliştirme sunucusuyla başlatın.

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

Parameters

--app-location, -a <PATH>

Ön uç uygulamasının kaynak kodunu içeren klasör. Varsayılan . değeridir.

--api-location, -i <PATH>

API uygulamasının kaynak kodunu içeren klasör.

--output-location, -O <PATH>

Ön uç uygulamasının yerleşik kaynağını içeren klasör. Yol ile --app-locationgörelidir. Varsayılan . değeridir.

--data-api-location

staticwebapp.database.config.json dosyasını içeren klasör.

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

Çıkış konumunu kullanmak yerine bu URL'deki uygulama geliştirme sunucusuna bağlanın.

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

Çıkış konumunu kullanmak yerine bu URL'deki API sunucusuna bağlanın.

--api-port, -j <API_PORT>

API sunucusu bağlantı noktası öğesine func startgeçirildi. Varsayılan değer 7071'dir.

--host, -q <HOST>

CLI geliştirme sunucusu için kullanılan konak adresi. Varsayılan localhost değeridir.

--port, -p <PORT>

CLI geliştirme sunucusu için kullanılacak bağlantı noktası değeri. Varsayılan 4280.

--ssl, -s

ÖN uç uygulamasına ve API'ye HTTPS üzerinden hizmet verme. Varsayılan false değeridir.

--ssl-cert, -e <SSL_CERT_LOCATION>

HTTPS etkinleştirilirken kullanılan SSL sertifikası (.crt).

--ssl-key, -k <SSL_KEY_LOCATION>

HTTPS etkinleştirilirken kullanılan SSL anahtarı (.key).

--run, -r <STARTUP_SCRIPT>

Başlangıçta çalıştırılacak özel kabuk komutunun veya betik dosyasının konumu.

--devserver-timeout, -t <TIME>

Ön uç uygulamanın geliştirme sunucusuna veya API sunucusuna bağlanırken beklenmesi gereken süre (saniye cinsinden). Varsayılan değer 60'tır.

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

Dosyanın dizin konumu staticwebapp.config.json .

--open, -o

Tarayıcıyı geliştirme sunucusuna açın. Varsayılan değer false'tur.

--func-args, -f <FUNCTION_ARGUMENTS>

Komutuna func start ek bağımsız değişkenler geçirin.

Global Parameters

swa deploy

Geçerli projeyi Azure Static Web Apps'e dağıtın.

Yaygın kullanım örnekleri şunlardır:

  1. API olmadan ön uç uygulaması dağıtma

  2. API ile ön uç uygulaması dağıtma

  3. Blazor uygulaması dağıtma

Deployment token

SWA CLI, dağıtım belirteci kullanarak dağıtmayı destekler. Bu genellikle CI/CD ortamından dağıtım yaparken kullanışlıdır. Dağıtım belirtecini şu kaynaklardan birini kullanarak alabilirsiniz:

  • Azure portalı: Örneğinize → Giriş → Statik Web Uygulaması → Genel Bakış → Dağıtım belirtecini yönetme

  • Azure CLI kullanıyorsanız aşağıdaki komutu kullanarak projenizin dağıtım belirtecini alabilirsiniz:

az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
  • Azure Static Web Apps CLI kullanıyorsanız aşağıdaki komutu kullanabilirsiniz:
swa deploy --print-token

Daha sonra bu değeri ile --deployment-token <TOKEN> kullanabilir veya adlı SWA_CLI_DEPLOYMENT_TOKEN bir ortam değişkeni oluşturup dağıtım belirtecine ayarlayabilirsiniz.

Important

Dağıtım belirtecini genel bir depoda depolamayın. Bu değer bir gizli dizi olarak kalmalıdır.

API olmadan ön uç uygulaması dağıtma

Aşağıdaki adımları çalıştırarak API'siz bir ön uç uygulamasını Azure Static Web Apps'e dağıtabilirsiniz:

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

Seçenek 1: Dağıtmak istediğiniz derleme klasöründen deploy komutunu çalıştırın:

cd build/
swa deploy

Note

Klasör, build uygulamanızın dağıtmak istediğiniz statik içeriğini içermelidir.

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

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

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

swa deploy ./my-dist

API ile ön uç uygulaması dağıtma

Hem ön uç uygulamasını hem de API'yi Azure Static Web Apps'e dağıtmak için aşağıdaki adımları kullanın:

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

  2. Dosyadaki API dili çalışma zamanı sürümünün doğru ayarlandığından staticwebapp.config.json emin olun, örneğin:

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

Note

Projenizde dosya staticwebapp.config.json yoksa klasörünüzün outputLocation altına bir dosya ekleyin.

  1. Uygulamanızı dağıtın:
swa deploy ./my-dist --api-location ./api

Blazor uygulaması dağıtma

İsteğe bağlı API'ye sahip bir Blazor uygulamasını Azure Static Web Apps'e dağıtmak için aşağıdaki adımları kullanın:

  1. Blazor uygulamanızı Sürüm modunda oluşturun:
dotnet publish -c Release -o bin/publish
  1. Projenizin kökünden komutunu çalıştırın deploy :
swa deploy ./bin/publish/wwwroot --api-location ./Api

komutunu kullanarak dağıtma swa-cli.config.json

Note

için outputLocation yolu ile göreli appLocationolmalıdır.

Projenizde bir swa-cli.config.json yapılandırma dosyası kullanıyorsanız ve tek bir yapılandırma girdiniz varsa aşağıdaki gibi bir yapılandırma kullanın:

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

Ardından aşağıdaki adımları çalıştırarak uygulamanızı dağıtabilirsiniz:

  1. Ön uç uygulamanız bir derleme adımı gerektiriyorsa, uygulamanızın derleme yönergelerini çalıştırın swa build veya 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

Syntax

swa deploy
           [--yes]

Examples

Örnek 1: Dağıtım belirteci kullanarak dağıtma.

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

Örnek 2: Ortam değişkenlerinden bir dağıtım belirteci kullanarak dağıtma

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

Örnek 3: Dosya kullanarak swa-cli.config.json dağıtma

swa deploy
swa deploy myconfig

Örnek 4: Dağıtım belirtecini yazdırma

swa deploy --print-token

Örnek 5: Belirli bir ortama dağıtma

swa deploy --env production

Global Parameters

swa db

Statik Web Apps veritabanı bağlantıları yapılandırmanızı oluşturun ve düzenleyin.

Yapılandırma dosyasıyla staticwebapp.database.config.json birlikte örnek bir swa-db-connections klasörü oluşturmak için kullanınswa db init. NoSQL için Cosmos DB veritabanı kullanıyorsanız bu, örnek staticwebapp.database.schema.gql bir şema dosyası da oluşturur.

Syntax

swa db init --database-type <DATABASE_TYPE>

Examples

Örnek 1: Azure SQL veritabanı için örnek veritabanı bağlantı yapılandırma klasörü oluşturma.

swa db init --database-type mssql

Parameters

--database-type, -t <DATABASE_TYPE>

(Gerekli) Bağlanmak istediğiniz veritabanının türü (mssql, postgresql, cosmosdb_nosql, mysql).

--folder-name, -f <FOLDER_NAME>

Kural veritabanı bağlantı yapılandırma klasör adını geçersiz kılmak için bir klasör adı (CI/CD iş akışı dosyalarınızı uygun şekilde güncelleştirdiğinizden emin olun). Varsayılan değer şudur: swa-db-connections.

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

Bağlanmak istediğiniz veritabanının bağlantı dizesi.

--cosmosdb_nosql-database, -nd <COSMOSDB_NOSQL_DATABASE>

Bağlanmak istediğiniz Cosmos DB hesabınızın veritabanı (yalnızca veritabanı türü kullanılıyorsa cosmosdb_nosql gereklidir).

--cosmosdb_nosql-container, -nc <COSMOSDB_NOSQL_CONTAINER>

Bağlanmak istediğiniz Cosmos DB hesabınızın kapsayıcısı.

--help, -h

Komut için yardım görüntüleme.

Global Parameters