Поделиться через


Развертывание статического веб-приложения с помощью интерфейса командной строки Статические веб-приложения Azure

Статические веб-приложения Azure CLI (SWA CLI) предоставляет deploy команду для развертывания текущего проекта в Статические веб-приложения Azure.

Ниже приведены распространенные сценарии развертывания.

  • Интерфейсное приложение без API
  • Интерфейсное приложение с API
  • Приложения Blazor

Маркер развертывания

Интерфейс командной строки SWA поддерживает развертывание с помощью маркера развертывания для включения настроек в средах CI/CD.

Вы можете получить маркер развертывания из:

  • портал Azure. → статических веб-приложений → экземпляра → обзор → управление маркером развертывания

  • Azure CLI: с помощью secrets list команды:

    az staticwebapp secrets list --name <APPLICATION_NAME> --query "properties.apiKey"
    
  • Статические веб-приложения Azure CLI: с помощью deploy команды:

    swa deploy --print-token
    

Затем можно использовать значение маркера с --deployment-token <TOKEN> именем SWA_CLI_DEPLOYMENT_TOKEN или создать вызываемую переменную среды и задать ее маркеру развертывания.

Внимание

Не сохраняйте маркеры развертывания в общедоступный репозиторий.

Развертывание интерфейсного приложения без API

Вы можете развернуть интерфейсное приложение без API для Статические веб-приложения Azure. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.

Выберите вариант, подходящий для настройки развертывания.

  • Вариант 1. Из папки сборки, которой вы хотите развернуть, выполните команду развертывания:

    cd build/
    swa deploy
    

    Примечание.

    Папка сборки должна содержать статическое содержимое приложения для развертывания.

  • Вариант 2. Вы также можете развернуть определенную папку:

    1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.

    2. Развертывание приложения:

    swa deploy ./my-dist
    

Развертывание интерфейсного приложения с помощью API

Чтобы развернуть приложение с конечными точками API, выполните следующие действия.

  1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.

  2. Убедитесь, что версия среды выполнения языка API в файле staticwebapp.config.json задана правильно, например:

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

    Примечание.

    Если у проекта нет файла staticwebapp.config.json , добавьте его в outputLocation папку.

  3. Развертывание приложения:

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

Развертывание приложения Blazor

Вы можете развернуть приложение Blazor, выполнив следующие действия.

  1. Создайте приложение Blazor в режиме выпуска :

    dotnet publish -c Release -o bin/publish
    
  2. В корневом каталоге проекта выполните команду развертывания:

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

Развертывание с помощью файла конфигурации

Примечание.

Путь к outputLocation нему должен быть относительным appLocation.

Если вы используете swa-cli.config.json файл конфигурации в проекте с одной записью конфигурации, вы можете развернуть приложение, выполнив следующие действия.

Пример одной записи конфигурации выглядит следующим фрагментом кода.

{
  "configurations": {
    "my-app": {
      "appLocation": "./",
      "apiLocation": "api",
      "outputLocation": "frontend",
      "start": {
        "outputLocation": "frontend"
      },
      "deploy": {
        "outputLocation": "frontend"
      }
    }
  }
}
  1. Если для внешнего приложения требуется шаг сборки, выполните swa build или обратитесь к инструкциям по сборке приложения.

  2. Развертывание приложения.

swa deploy

Если у вас несколько записей конфигурации, можно указать идентификатор записи, чтобы указать, какой из них следует использовать:

swa deploy my-otherapp

Параметры

Ниже приведены варианты, с которыми swa deployможно использовать:

  • -a, --app-location <path>: папка, содержащая исходный код интерфейсного приложения (по умолчанию: ".")
  • -i, --api-location <path>: папка, содержащая исходный код приложения API
  • -O, --output-location <path>: папка, содержащая встроенный источник интерфейсного приложения. Путь относительно --app-location (по умолчанию: ".")
  • -w, --swa-config-location <swaConfigLocation>: каталог, в котором находится файл staticwebapp.config.json
  • -d, --deployment-token <secret>: секретный маркер, используемый для проверки подлинности с помощью Статические веб-приложения
  • -dr, --dry-run: имитируйте процесс развертывания без фактического выполнения (по умолчанию: false)
  • -pt, --print-token: печать маркера развертывания (по умолчанию: false)
  • --env [environment]: тип среды развертывания, в которой развертывается проект (по умолчанию: "preview")
  • -S, --subscription-id <subscriptionId>: идентификатор подписки Azure, используемый этим проектом (по умолчанию: process.env.AZURE_SUBSCRIPTION_ID)
  • -R, --resource-group <resourceGroupName>: группа ресурсов Azure, используемая этим проектом
  • -T, --tenant-id <tenantId>: идентификатор клиента Azure (по умолчанию: process.env.AZURE_TENANT_ID)
  • -C, --client-id <clientId>: идентификатор клиента Azure
  • -CS, --client-secret <clientSecret>: секрет клиента Azure
  • -n, --app-name <appName>: имя приложения статического веб-приложения Azure
  • -cc, --clear-credentials: очистить сохраненные учетные данные перед входом (по умолчанию: false)
  • -u, --use-keychain: включите использование собственной цепочки ключей операционной системы для постоянных учетных данных (по умолчанию: true)
  • -nu, --no-use-keychain: отключение использования собственной цепочки ключей операционной системы
  • -h, --help: отображение справки по команде

Использование

Развертывание с помощью маркера развертывания.

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

Развертывание с помощью маркера развертывания из переменных среды.

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

Развертывание с помощью swa-cli.config.json файла

swa deploy
swa deploy myconfig

Печать маркера развертывания.

swa deploy --print-token

Развертывание в определенной среде.

swa deploy --env production

Следующие шаги