azd шаблоны — это репозитории схем, включающие код приложения проверки концепции, конфигурации редактора или интегрированной среды разработки, а также код инфраструктуры, написанный в Bicep или Terraform. Эти шаблоны предназначены для изменения и адаптации для конкретных требований приложения, а затем используются для получения приложения в Azure с помощью Интерфейса командной строки разработчика Azure (azd). Схема azure.yaml определяет и описывает приложения и типы ресурсов Azure, включенных в эти шаблоны.
Пример
Ниже приведен универсальный пример, необходимый azure.yaml для шаблона azd .
name: yourApp
metadata:
template: yourApp@0.0.1-beta
services:
web:
project: ./src/web # path to your web project
dist: build # relative path to service deployment artifacts
language: js # one of the supported languages
host: appservice # one of the supported Azure services
Диапазон поддерживаемых версий azd для этого проекта. Если версия находится за пределами azd этого диапазона, проект не сможет загрузиться. Необязательный параметр (разрешает все версии, если отсутствуют). Пример: >= 0.6.0-beta.3
Свойства metadata
Имя элемента
Обязательное поле
Описание
Пример
template
N
(строка) Идентификатор шаблона, из которого было создано приложение.
todo-nodejs-mongo@0.0.1-beta
Свойства infra
Имя элемента
Обязательное поле
Описание
Пример
provider
N
(строка) Поставщик инфраструктуры для ресурсов Azure приложения. (По умолчанию: bicep).
См. пример Terraform ниже. bicep, terraform
path
N
(строка) Относительный путь к папке, содержащей шаблоны подготовки Azure для указанного поставщика. (по умолчанию: инфраструктура).
module
N
(строка) Имя модуля по умолчанию с шаблонами подготовки Azure. (по умолчанию: main).
Пример поставщика Terraform в качестве поставщика IaC
(строка) Имя ресурса Azure, реализующего службу. Если это не указано, azd найдите ресурс по и azd-service-name тегамazd-env-name. Если он не найден, он будет искать имя ресурса, созданное из текущего имени среды, сцеплено с именем службы (<environment-name><resource-name>).
prodapi
project
Y
(строка) Путь к каталогу исходного кода службы.
host
Y
(строка) Тип ресурса Azure, используемого для реализации службы. Если опущено, Служба приложений предполагается.
appservice, containerapp, functionstaticwebapp, aks , (только для проектов, развертываемых через kubectl apply -f), springapp (если включена — узнайте больше о альфа-функциях)
language
Y
(строка) Язык реализации службы.
dotnet, csharp, fsharppypythonjstsjava
module
Y
(строка) Путь к модулю инфраструктуры, используемому для развертывания службы относительно корневой папки инфраструктуры. Если опущено, интерфейс командной строки предполагает, что имя модуля совпадает с именем службы.
dist
Y
(строка) Относительный путь к артефактам развертывания службы. Интерфейс командной строки будет использовать файлы в этом пути для создания артефакта развертывания (ZIP-файл). Если опущено, все файлы в каталоге проекта службы будут включены.
build
docker
N
Применимо только в том containerappслучаеhost. Не удается содержать дополнительные свойства.
См. пример пользовательского Docker ниже. path(string): путь к Dockerfile. По умолчанию: ./Dockerfile; context(string): контекст сборки Docker. При указании переопределяет контекст по умолчанию. По умолчанию: .; platform(string): целевой объект платформы. По умолчанию: amd64
k8s
N
Параметры конфигурации Служба Azure Kubernetes (AKS).
См. пример AKS ниже. deploymentPath(string): необязательно. Относительный путь от пути службы к манифестам развертывания k8s. При установке он переопределит расположение пути развертывания по умолчанию для манифестов развертывания k8s. По умолчанию: manifests; namespace(string): необязательно. Пространство имен k8s развернутых ресурсов. При указании создается новое пространство имен k8s, если оно еще не существует. По умолчанию: Project name; deployment(объект): см . свойства развертывания; service(object): см . свойства службы; ingress(object): см . свойства входящего трафика.
hooks
N
Перехватчики уровня обслуживания. Перехватчики должны совпадать service с именами событий, pre префиксами или post в зависимости от того, когда скрипт должен выполняться. При указании путей они должны быть относительными к пути службы.
(строка) Дополнительные. Имя ресурса развертывания k8s, используемого во время развертывания. Используется во время развертывания, чтобы убедиться, что развертывание развертывания k8s завершено. Если не задано, найдите ресурс развертывания в том же пространстве имен, где содержится имя службы. По умолчанию: Service name
api
Свойства AKS service
Имя элемента
Обязательное поле
Описание
Пример
name
N
(строка) Дополнительные. Имя ресурса службы k8s, используемого в качестве конечной точки службы по умолчанию. Используется при определении конечных точек для ресурса службы по умолчанию. Если не задано, найдите ресурс развертывания в том же пространстве имен, где содержится имя службы. (По умолчанию: имя службы)
api
Свойства AKS ingress
Имя элемента
Обязательное поле
Описание
Пример
name
N
(строка) Дополнительные. Имя ресурса входящего трафика k8s, используемого в качестве конечной точки службы по умолчанию. Используется при определении конечных точек для ресурса входящего трафика по умолчанию. Если не задано, найдите ресурс развертывания в том же пространстве имен, где содержится имя службы. По умолчанию: Service name
api
relativePath
N
(строка) Дополнительные. Относительный путь к службе из корня контроллера входящего трафика. Если задано, он будет добавлен в корневой каталог пути к ресурсу входящего трафика.
Пример AKS с перехватчиками уровня обслуживания
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
web:
project: ./src/web
dist: build
language: js
host: aks
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_WEB_BASE_URL ${SERVICE_WEB_ENDPOINT_URL}
api:
project: ./src/api
language: js
host: aks
k8s:
ingress:
relativePath: api
hooks:
postdeploy:
shell: sh
run: azd env set REACT_APP_API_BASE_URL ${SERVICE_API_ENDPOINT_URL}
Свойства pipeline
Имя элемента
Обязательное поле
Описание
Пример
provider
N
(строка) Поставщик конвейера, используемый для непрерывной интеграции. (по умолчанию: github).
github, azdo
Azure Pipelines (AzDo) в качестве примера конвейера CI/CD
Сведения о том, как отправить ошибку, запросить справку или предложить новую функцию для Интерфейса командной строки разработчика Azure, посетите страницу устранения неполадок и поддержки .