Поделиться через


Создание файла настройки для поля разработки

В этой статье вы узнаете, как создать и проверить файл настройки для поля разработки с помощью Visual Studio Code (VS Code) и дома разработки.

В Microsoft Dev Box можно использовать два способа использования файла настройки. Настройки группы применяются автоматически, когда разработчики настраивают их в пуле. Отдельные настройки применяются при создании поля разработки пользователем.

Эта статья поможет определить новые задачи в файле настройки, применить их к полям разработки и протестировать эти настройки непосредственно в VS Code.

Внимание

Функция настройки команды Dev Box в настоящее время находится в предварительной версии. Дополнительные сведения о состоянии предварительной версии см . в дополнительных условиях использования для предварительных версий Microsoft Azure. В документе определены юридические термины, которые применяются к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общую доступность.

Необходимые компоненты

Чтобы выполнить действия, описанные в этой статье, необходимо выполнить следующие действия.

Разрешения, необходимые для настройки настроек

Чтобы выполнить необходимые действия для создания и применения настроек в поле разработки, вам потребуются следующие разрешения:

Действие Разрешение или роль
Включите каталоги уровня проекта для центра разработки. Инженер платформы с доступом на запись в подписке.
Включите параметры синхронизации каталога для проекта. Инженер платформы с доступом на запись в подписке.
Присоединение каталога к проекту. Разрешения администратора проекта или участника проекта.
Создайте файл настройки. Ни один из указанных. Любой пользователь может создать файл настройки.
Используйте портал разработчика для отправки и применения YAML-файла во время создания поля разработки. Пользователь Dev Box.
Добавление задач в каталог. Разрешение на добавление в репозиторий, на котором размещен каталог.

Что такое файл настройки?

Настройки Dev Box используют отформатированный файл YAML, чтобы указать список задач, применяемых при создании разработчиком поля разработки. Эти задачи могут быть такими же простыми, как установка пакета или как сложное выполнение сложного набора скриптов для настройки базы кода. Задачи определяют каталог и предоставляют такие параметры, как имя устанавливаемого программного обеспечения. Затем файл настройки становится доступным для разработчиков, создающих поля разработки.

В следующем примере используется winget задача для установки VS Code и git-clone задачи клонирования репозитория:

# From https://github.com/microsoft/devcenter-examples
$schema: 1.0
tasks:
  - name: winget
    parameters:
      package: Microsoft.VisualStudioCode
      runAsUser: true
  - name: git-clone
    description: Clone this repository into C:\Workspaces
    parameters:
      repositoryUrl: https://github.com/OrchardCMS/OrchardCore.git
      directory: C:\Workspaces

Существует два способа использования файла настройки: отдельные настройки применяются к одному поле разработки, а настройки команды применяются ко всей команде.

Отдельные файлы настройки

  • Содержит задачи, применяемые при создании поля разработки разработчиком.
  • Отправляется разработчиком во время создания поля разработки.

Файлы настройки группы

  • Содержит задачи, применяемые при создании поля разработки разработчиком.
  • Общий доступ к команде или проекту.
  • Включите поле, указывающее базовый образ.
  • Именованы imagedefinition.yaml.
  • Отправляются в репозиторий, в котором размещается каталог.
  • Автоматически используются при создании поля разработки из настроенного пула.

Внимание

Определения изображений могут использовать только образы Dev Box Marketplace в качестве базовых образов. Чтобы получить список образов, к которым может получить доступ центр разработки, используйте следующую команду Azure CLI:

az devcenter admin image list --dev-center-name CustomizationsImagingHQ --resource-group TeamCustomizationsImagingRG --query "[].name"

Создание файла настройки

Файлы настройки можно создавать и управлять ими с помощью VS Code. Расширение Microsoft Dev Box в VS Code можно использовать для обнаружения задач в подключенном каталоге и тестирования файла настройки.

  1. Создайте поле разработки (или используйте существующее поле разработки) для тестирования.

  2. В тестовом поле разработки установите VS Code и установите расширение Dev Box.

  3. Скачайте пример файла настройки YAML из репозитория примеров и откройте его в VS Code.

  4. Обнаружение задач, доступных в каталоге, с помощью палитры команд. Выберите "Просмотреть>панель разработки" палитры>команд: список доступных задач для этого поля разработки.

    Снимок экрана: палитра команд Dev Box в Visual Studio Code с командой для перечисления доступных задач.

  5. Проверка настройки в VS Code с помощью палитры команд. Выберите "Просмотреть>палитру>команд" Для разработки: применить задачи настройки.

    Снимок экрана: палитра команд Dev Box в Visual Studio Code с командой для применения задач настройки.

  6. Файл настройки запускается немедленно и применяет указанные задачи к тестовой среде разработки. Проверьте изменения и проверьте терминал VS Code для любых ошибок или предупреждений, созданных во время выполнения задачи.

  7. После успешного запуска файла настройки отправьте его в каталог.

Клонирование частного репозитория с помощью файла настройки

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

Использование секретов хранилища ключей в файлах настройки команды

Чтобы клонировать частный репозиторий, сохраните PAT в качестве секрета хранилища ключей и используйте его при вызове задачи в настройке git-clone .

Чтобы настроить секреты хранилища ключей для использования в настройках YAML:

  1. Убедитесь, что у управляемого удостоверения центра разработки есть роль читателя Key Vault и роль пользователя секретов Key Vault в хранилище ключей.
  2. Предоставьте роль "Пользователь секретов Key Vault" для секрета хранилища ключей каждому пользователю или группе пользователей, которые должны иметь возможность использовать секрет во время настройки поля разработки. Пользователь или группа, которым предоставлена роль, должна включать управляемое удостоверение для центра разработки, собственную учетную запись пользователя и любую пользовательскую или группу, которая нуждается в секрете во время настройки поля разработки.

Дополнительные сведения см. в разделе:

Вы можете ссылаться на секрет в настройке YAML в следующем формате, который использует git-clone задачу в качестве примера:

$schema: "1.0"
tasks:
   name: git-clone
   description: Clone this repository into C:\Workspaces
      parameters:
         repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
         directory: C:\Workspaces
         pat: '{{KEY_VAULT_SECRET_URI}}'

Использование секретов хранилища ключей в отдельных файлах настройки

Если вы хотите клонировать частный репозиторий Azure Repos из отдельного файла настройки, вам не нужно настраивать секрет в Azure Key Vault. Вместо этого можно использовать {{ado}} или {{ado://your-ado-organization-name}} в качестве параметра. Этот параметр получает маркер доступа от вашего имени при создании поля разработки. Маркер доступа имеет разрешение только для чтения в репозитории.

Задача git-clone в каталоге быстрого запуска использует маркер доступа для клонирования репозитория. Приведем пример:

tasks:
   name: git-clone
   description: Clone this repository into C:\Workspaces
      parameters:
         repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
         directory: C:\Workspaces
         pat: '{{ado://YOUR_ADO_ORG}}'

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

Снимок экрана, на котором показано, как разрешить доверенным службы Майкрософт обойти брандмауэр в параметрах Azure Key Vault.

Сведения о том, как разрешить доверенным службы Майкрософт обойти брандмауэр, см. в статье Настройка параметров сети Azure Key Vault.

Настройка поля разработки с помощью существующих файлов конфигурации WinGet

Конфигурация WinGet принимает подход к определению уникальных наборов параметров программного обеспечения и конфигурации, необходимых для получения среды Windows в состоянии готовности к коду. Эти файлы конфигурации также можно использовать для настройки поля разработки с помощью задачи WinGet, включенной в каталог быстрого запуска Майкрософт.

В следующем примере показан файл настройки поля разработки, вызывающий существующий файл конфигурации требуемого состояния WinGet (DSC):

tasks:
    - name: winget
      parameters:
          configure: "projectConfiguration.dsc.yaml"

Дополнительные сведения см. в статье о конфигурации WinGet.

Предоставление общего доступа к файлу настройки из репозитория кода

Сделайте файл настройки доступным для пулов полей разработки, назвав его imagedefinition.yaml и отправив его в репозиторий, на котором размещен каталог. При создании пула полей разработки можно выбрать файл настройки из каталога, который будет применяться к полям разработки в пуле.