Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
Чтобы повысить безопасность развертываний из Static Web Apps CLI, было введено критическое изменение, требующее обновления до последней версии (2.0.2) Static Web Apps CLI к 15 января 2025 года.
CLI для статических веб-приложений Azure (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 Static Web Apps. Если для внешнего приложения требуется шаг сборки, выполните 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