Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Изучите рабочий процесс
Интерфейс командной строки разработчика Azure (azd) позволяет подготавливать и развертывать ресурсы приложений в Azure только с помощью azd upодной команды. Это руководство предоставляет детальную разбивку azd up и объясняет, как различные этапы этого рабочего процесса соотносятся со структурой шаблона azd.
Следуйте инструкциям по использованию шаблона
В разделах впереди используются примеры из hello-azd шаблона для демонстрации различных azd концепций и шаблонов. Вы можете инициализировать шаблон на локальном компьютере:
azd init -t hello-azd
Дополнительные сведения о начале работы с azd и шаблонами hello-azd см. в статье Краткое руководство: Развертывание шаблона командной строки разработчика Azure.
Основные понятия
При работе с шаблоном azd можно подготовить и развернуть ресурсы приложения в Azure с помощью azd up команды. Выполните команду из окна терминала, открытого в папке шаблона:
azd up
azd up предназначен для многократного выполнения команды при разработке приложения, а новые изменения развертываются постепенно. Команда инициирует мощный рабочий процесс, который, по сути, упаковывает три конкретных этапа:
- Упаковка. Подготовка кода приложения и зависимостей для развертывания.
- Подготовка: Создает и настраивает необходимые ресурсы Azure для приложения с помощью файлов, описывающих инфраструктуру как код.
- Развертывание: развертывает упаковаемое приложение в подготовленных ресурсах Azure.
Вы также можете запускать каждый из этих этапов по отдельности с помощью соответствующей команды, но azd up предоставляет удобный оболочку для упрощения общего процесса. Каждый этап играет важную роль в обеспечении плавного и автоматизированного процесса развертывания. Вы можете повлиять на azd up этапы рабочего процесса с помощью конфигураций в файле шаблона azure.yaml . В следующих разделах подробно рассматриваются все этапы.
Этап упаковки
Этап упаковки — это первый шаг в azd up рабочем процессе. На этом этапе:
- Код приложения готов к развертыванию. В зависимости от языка программирования, на котором построено приложение-шаблон, упаковка может включать создание или компиляцию приложения, объединение зависимостей или создание элементов развертывания, таких как образы Docker.
- Структура
azdшаблона обычно содержитsrcпапку, в которой находится код приложения. Скрипты сборки или файлы конфигурации (например, Dockerfile) могут повлиять на то, как приложение должно быть упаковано. - Файл
azure.yamlсодержит сопоставления конфигурации, которые сообщаютazdо том, где находится код приложения и какой язык он использует, так чтоazdможет упаковыть его соответствующим образом. - На этом этапе приложение находится в состоянии развертывания перед переходом к следующему шагу.
Процесс упаковки можно запустить самостоятельно вне azd up с использованием команды azd package.
azd package
Примеры конфигураций упаковки
azd может упаковыть приложения, созданные с различными языками, различными способами. Например, если приложение использует контейнеризованный подход, azd шаблон может включать Dockerfile в каталог приложения src . Этап упаковки создает образ Docker для приложения на основе этого файла. Эти конфигурации управляются с помощью azure.yaml файла.
Например, рассмотрим следующую структуру проекта и конфигурации начального hello-azd шаблона:
На предыдущем изображении представлен файл azure.yaml.
- Определяет код в каталоге
srcкак приложение C#. - Указывает расположение Dockerfile для создания образа контейнера приложения.
При запуске azd up (или azd package) интерфейс командной строки разработчика Azure использует эту комбинацию конфигураций для сборки и упаковки кода приложения в каталоге src в виде образа контейнера .NET. Если файл Dockerfile не настроен, azd может также упаковать приложение .NET с помощью стандартного процесса публикации .NET.
Этап обеспечения
Этап подготовки создает и настраивает необходимые ресурсы Azure для приложения. Например, приложению может потребоваться экземпляр Службы приложений Azure для размещения самого приложения и учетной записи хранения Azure для хранения отправленных файлов. Этап подготовки использует файлы инфраструктуры как кода (IaC), включенные в шаблон, для определения ресурсов.
Ниже приведены ключевые моменты, которые необходимо понять о стадии подготовки:
-
azdподдерживает как Bicep, так и Terraform для задач «инфраструктура как код». - По умолчанию файлы инфраструктуры как кода хранятся в папке
infra, но это расположение можно настроить. -
azdвыполняет поиск файлаmain.bicepилиmain.tf, который будет использоваться в качестве основного файла оркестрации для процесса IaC.
Вы также можете запустить процесс провизирования самостоятельно вне azd up, используя команду azd provision.
azd provision
Примеры конфигураций предоставления
В папке infra файл main.bicep обычно определяет ресурсы Azure, которые azd должен создать для приложения. Рассмотрим следующий фрагмент кода из main.bicep начального hello-azd шаблона:
// ...omitted code for other resource configurations
// Create an Azure Cosmos DB account
module cosmos 'app/cosmos.bicep' = {
name: 'cosmos'
scope: rg
params: {
userPrincipalId: principalId
managedIdentityId: identity.outputs.principalId
}
}
// Create a storage account
module storage './core/storage/storage-account.bicep' = {
name: 'storage'
scope: rg
params: {
name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
location: location
tags: tags
containers: [
{ name: 'attachments' }
]
}
}
// Container apps environment and registry
module containerAppsEnv './core/host/container-apps.bicep' = {
name: 'container-apps'
scope: rg
params: {
name: 'app'
containerAppsEnvironmentName: !empty(containerAppsEnvName) ? containerAppsEnvName : '${abbrs.appManagedEnvironments}${resourceToken}'
containerRegistryName: !empty(containerRegistryName) ? containerRegistryName : '${abbrs.containerRegistryRegistries}${resourceToken}'
location: location
}
}
// ...omitted code for other resource configurations
Используя предыдущий код Bicep, azd создаёт следующие ресурсы:
- Экземпляр Azure Cosmos DB для хранения данных, отправленных через приложение
- Учетная запись хранения Azure для хранения отправленных образов
- Приложение контейнера Azure для размещения приложения
Этап развертывания
Этап развертывания — это последний шаг в azd up рабочем процессе. На этом этапе:
- Артефакты приложения, созданные на этапе упаковки, развертываются в зарезервированных ресурсах Azure.
-
azdиспользует файлы конфигурации в шаблоне, напримерazure.yamlдля определения способа развертывания приложения. - Переменные среды и строки подключения настроены для обеспечения взаимодействия приложения с подготовленными ресурсами.
Вы также можете запустить процесс развертывания самостоятельно за пределами azd up, используя команду azd deploy.
azd deploy
Примеры конфигураций развертывания
azure.yaml В файле можно указать, какая служба в проекте должна быть развернута в каком ресурсе Azure. Например, рассмотрим следующие конфигурации для начального hello-azd шаблона:
metadata:
template: hello-azd-dotnet
name: azd-starter
services:
aca:
project: ./src # The location of the service source code
language: csharp
host: containerapp # The provisioned resource to deploy the service to
docker:
path: ./Dockerfile
Предыдущий код указывает azd развернуть артефакты, упакованные из кода в папке src, в containerapp, созданный на этапе предоставления. Можно также определить несколько служб и сопоставить каждую с разным узлом.
Заключение
Рабочий azd up процесс упрощает процесс развертывания приложений в Azure путем автоматизации этапов упаковки, подготовки и развертывания. Разработчики могут обеспечить согласованный и эффективный процесс развертывания, следуя azd структуре шаблона. Независимо от того, развертывается ли простое веб-приложение или сложная архитектура микрослужб, azd up команда упрощает переход от кода в облако.