Изучение рабочих процессов инициализации интерфейса командной строки разработчика Azure

Интерфейс командной строкиazd разработчика Azure () предоставляет набор команд для упрощения разработки, подготовки и развертывания приложения в Azure. Эта azd init команда помогает настроить новые или существующие проекты, создав файлы и конфигурации, необходимые для работы azd. В этой статье описаны различные доступные рабочие процессы инициализации и способы выбора оптимального варианта для сценария разработки.

Рабочие процессы инициализации

Команда azd init поддерживает несколько рабочих процессов для подготовки приложения к работе с azd:

  • Настройка с помощью GitHub Copilot (предварительная версия): запускает выделенный сеанс агента Copilot, который может спланировать проект, создать шаблонные ресурсы и проверить результат.
  • Сканирование текущего каталога: анализирует существующую базу кода приложения, чтобы создать соответствующие azd файлы конфигурации и ресурсы.
  • Выберите шаблон: клонирует и инициализирует шаблон из azdколлекции шаблонов.
  • Создание минимального проекта: инициализирует базовый azure.yaml файл в качестве отправной точки для создания собственного azd шаблона с нуля.

Для разработки шаблонов используйте Set up with GitHub Copilot (предварительная версия). Общие сведения о полном жизненном цикле разработки см. в обзоре разработки шаблонов. В следующих разделах описывается каждый рабочий процесс инициализации.

Настройка с помощью GitHub Copilot (предварительная версия)

Используйте этот рабочий процесс для создания шаблона с помощью ИИ. azd запускает отдельный сеанс агента GitHub Copilot, который может анализировать существующие файлы проекта или помочь спланировать новый проект. Агент создает стандартные azd артефакты, такие как azure.yamlфайлы Bicep или Terraform и конфигурацию контейнеров, а затем проверяет результат.

Сеанс агента выполняется в терминале и не является продолжением активного сеанса GitHub Copilot Chat в Visual Studio Code. Предварительные требования и подробные инструкции см. в статье "Начало работы с новым шаблоном".

Сканирование текущего каталога

Используйте этот рабочий процесс при наличии существующей базы кода приложения и хотите подготовить его к развертыванию в Azure с помощью azd.

  1. Перейдите в корневой каталог проекта.

  2. Запустите команду azd init.

    azd init
    
  3. Выберите "Сканировать текущий каталог". azd будет:

    • Проверьте каталог, чтобы определить язык или платформу, используемое приложением.
    • Выберите соответствующую платформу размещения, например приложения контейнеров Azure.
    • При необходимости вам будет предложено добавить или удалить обнаруженные службы.
    ? How do you want to initialize your app? Scan current directory
    
      (✓) Done: Scanning app code in current directory
    
    Detected services:
    
      .NET
      Detected in: src
    
    azd will generate the files necessary to host your app on Azure using Azure Container Apps.
    
    ? Select an option  [Use arrows to move, type to filter]
    > Confirm and continue initializing my app
      Remove a detected service
      Add an undetected service
    
  4. Нажмите кнопку "Подтвердить" и продолжить инициализацию приложения , чтобы завершить рабочий процесс. azd создает следующее в каталоге приложения:

    • Файл azure.yaml, определяющий службы вашего приложения и сопоставляющий их с ресурсами хостинга.
    • Папка .azure для хранения параметров конфигурации, таких как имя среды.
    • Файл, настроенный .gitignore для языка приложения и платформы размещения.
  5. При необходимости выполните команду azd up , чтобы создать ресурсы приложений контейнеров Azure и развернуть приложение.

Теперь приложение структурировано как azd шаблон, который можно продолжать разрабатывать и расширять с помощью дополнительных ресурсов и служб Azure.

Выбор шаблона

Этот рабочий процесс позволяет начать с предварительно созданного azd шаблона, который обычно включает как код приложения, так и необходимые определения инфраструктуры Azure.

  1. Выполните команду azd init.

    azd init
    

    Замечание

    Можно также выполнить azd init с параметром --template, чтобы напрямую инициализировать шаблон по имени и пропустить выбор рабочего процесса.

  2. Выберите шаблон. azd отображает список доступных шаблонов из настроенных источников шаблонов.

    ? How do you want to initialize your app? Select a template
    ? Select a project template:  [Use arrows to move, type to filter]
    > Deploy Phoenix to Azure
      (Arize-ai/phoenix-on-azure)
    
      API Center Reference Sample
      (Azure-Samples/APICenter-Reference)
    
      Event Driven Java Application with Azure Service Bus on Azure Spring Apps
      (Azure-Samples/ASA-Samples-Event-Driven-Application)
    
      Static React Web App with Java API and PostgreSQL
      (Azure-Samples/ASA-Samples-Web-Application)
    
  3. Введите текст для фильтрации результатов и поиска шаблона Hello AZD. Выберите шаблон, чтобы клонировать и инициализировать его.

  4. При необходимости выполните azd up для подготовки и развертывания ресурсов шаблона в Azure.

Вы также можете использовать инициализированный шаблон в качестве отправной точки для дальнейшего развития.

Создание минимального проекта

Для опытных пользователей, которые хотят начать с минимальной конфигурации и настроить все вручную, этот параметр предоставляет только необходимую конфигурацию.

  1. azd init Выполните команду с флагом --minimal:

    azd init --minimal
    
  2. Когда появится запрос, введите имя для шаблона azd и нажмите Enter.

    ? How do you want to initialize your app? Create a minimal project
    ? What is the name of your project? (empty) hello-azd
    ? What is the name of your project? hello-azd
    
    SUCCESS: Generated azure.yaml project file.
    

    Флаг --minimal создает только следующее:

    • Базовый azure.yaml файл с именем проекта
    • .azure Каталог конфигурации среды
    • .gitignore Файл с соответствующими записями для Интерфейса командной строки разработчика Azure

    Эта упрощенная инициализация идеально подходит при выполнении следующих процедур:

    • Хотите создать инфраструктуру с нуля
    • Необходимость интеграции azd с существующим сложным проектом
    • Предпочитать полный контроль над структурой проекта
  3. Завершите настройку проекта. Вы можете вручную создавать файлы инфраструктуры в infra папке, запрашивать агент кода искусственного интеллекта для создания инфраструктуры и настраивать azure.yaml для определения служб и ресурсов.

Именование ресурсов Project и Azure

При инициализации нового или существующего проекта имя проекта задается в azure.yaml. Имя проекта выступает в качестве префикса для имен ресурсов Azure, созданных во время процесса подготовки. Следуя правилам проверки, необходимо убедиться, что созданные имена ресурсов Azure также будут допустимыми.

В шаблонах Bicep или Terraform имя проекта часто используется в качестве основы для создания имен ресурсов, в сочетании с именем среды и другими элементами. Рассмотрим пример.

var resourceToken = '${name}-${environmentName}'

Где name обозначает имя проекта, а environmentName — имя среды azd.

Правила проверки имени проекта

azd init При использовании для инициализации проекта или при создании нового имени проекта в azure.yaml файле применяются следующие правила проверки:

Правило Description
Допустимые символы Имена проектов могут включать только строчные буквы, цифры и дефисы.
Начальный символ Имена проектов должны начинаться с буквы.
Конечный символ Имена проектов не должны заканчиваться дефисом.
Длина Имена проектов должны содержать от 2 до 63 символов.
Нет последовательных дефисов Имена проектов не могут содержать последовательные дефисы.

Эти правила проверки гарантируют, что имя проекта будет совместимо с требованиями именования ресурсов Azure и предотвратить сбои упаковки служб во время развертывания.

Дальнейшие шаги

После инициализации проекта с помощью azd init вы можете:

  • Измените созданные файлы инфраструктуры, чтобы настроить ресурсы Azure.
  • Используется azd provision для создания необходимых ресурсов в Azure.
  • Используйте azd deploy для развертывания кода приложения на подготовленных ресурсах.
  • Узнайте о рабочем процессе интерфейса командной строки разработчика Azure, который объединяет подготовку и развертывание в одной команде.