Развертывание статического веб-приложения с помощью интерфейса командной строки Статические веб-приложения Azure
Внимание
Чтобы повысить безопасность развертываний из интерфейса командной строки Статические веб-приложения, было введено критическое изменение, требующее обновления до последней версии (2.0.2) Статические веб-приложения CLI к январю 15 января 2025 года.
Статические веб-приложения 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. Вы также можете развернуть определенную папку:
Если для внешнего приложения требуется шаг сборки, выполните
swa build
или обратитесь к инструкциям по сборке приложения.Развертывание приложения:
swa deploy ./my-dist
Развертывание интерфейсного приложения с помощью API
Чтобы развернуть приложение с конечными точками API, выполните следующие действия.
Если для внешнего приложения требуется шаг сборки, выполните
swa build
или обратитесь к инструкциям по сборке приложения.Убедитесь, что версия среды выполнения языка API в файле staticwebapp.config.json задана правильно, например:
{ "platform": { "apiRuntime": "node:16" } }
Примечание.
Если у проекта нет файла staticwebapp.config.json , добавьте его в
outputLocation
папку.Развертывание приложения:
swa deploy ./my-dist --api-location ./api
Развертывание приложения Blazor
Вы можете развернуть приложение Blazor, выполнив следующие действия.
Создайте приложение Blazor в режиме выпуска :
dotnet publish -c Release -o bin/publish
В корневом каталоге проекта выполните команду развертывания:
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"
}
}
}
}
Если для внешнего приложения требуется шаг сборки, выполните
swa build
или обратитесь к инструкциям по сборке приложения.Развертывание приложения.
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