Создание файла настройки для поля разработки
В этой статье вы узнаете, как создать и проверить файл настройки для поля разработки с помощью Visual Studio Code (VS Code) и дома разработки.
В Microsoft Dev Box можно использовать два способа использования файла настройки. Настройки группы применяются автоматически, когда разработчики настраивают их в пуле. Отдельные настройки применяются при создании поля разработки пользователем.
Эта статья поможет определить новые задачи в файле настройки, применить их к полям разработки и протестировать эти настройки непосредственно в VS Code.
Внимание
Функция настройки команды Dev Box в настоящее время находится в предварительной версии. Дополнительные сведения о состоянии предварительной версии см . в дополнительных условиях использования для предварительных версий Microsoft Azure. В документе определены юридические термины, которые применяются к функциям Azure, которые находятся в бета-версии, предварительной версии или в противном случае еще не выпущены в общую доступность.
Необходимые компоненты
Чтобы выполнить действия, описанные в этой статье, необходимо выполнить следующие действия.
- Настроите центр разработки с определением поля разработки, пулом средств разработки и проектом для разработки, чтобы создать поле разработки.
- Будьте членом группы безопасности Dev Box Users по крайней мере для одного проекта.
- Укажите каталог, подключенный к центру разработки, с задачами, которые можно использовать в файле настройки. Если у вас нет каталога, см. статью "Добавление и настройка каталога" из GitHub или Azure Repos.
Разрешения, необходимые для настройки настроек
Чтобы выполнить необходимые действия для создания и применения настроек в поле разработки, вам потребуются следующие разрешения:
Действие | Разрешение или роль |
---|---|
Включите каталоги уровня проекта для центра разработки. | Инженер платформы с доступом на запись в подписке. |
Включите параметры синхронизации каталога для проекта. | Инженер платформы с доступом на запись в подписке. |
Присоединение каталога к проекту. | Разрешения администратора проекта или участника проекта. |
Создайте файл настройки. | Ни один из указанных. Любой пользователь может создать файл настройки. |
Используйте портал разработчика для отправки и применения 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 можно использовать для обнаружения задач в подключенном каталоге и тестирования файла настройки.
Создайте поле разработки (или используйте существующее поле разработки) для тестирования.
В тестовом поле разработки установите VS Code и установите расширение Dev Box.
Скачайте пример файла настройки YAML из репозитория примеров и откройте его в VS Code.
Обнаружение задач, доступных в каталоге, с помощью палитры команд. Выберите "Просмотреть>панель разработки" палитры>команд: список доступных задач для этого поля разработки.
Проверка настройки в VS Code с помощью палитры команд. Выберите "Просмотреть>палитру>команд" Для разработки: применить задачи настройки.
Файл настройки запускается немедленно и применяет указанные задачи к тестовой среде разработки. Проверьте изменения и проверьте терминал VS Code для любых ошибок или предупреждений, созданных во время выполнения задачи.
После успешного запуска файла настройки отправьте его в каталог.
Клонирование частного репозитория с помощью файла настройки
Секреты из хранилища ключей Azure можно использовать в настройках YAML для клонирования частных репозиториев или с помощью любой настраиваемой задачи, которую вы создаете, для этого требуется маркер доступа. В файле настройки группы можно использовать личный маркер доступа (PAT), хранящийся в хранилище ключей для доступа к частному репозиторию.
Использование секретов хранилища ключей в файлах настройки команды
Чтобы клонировать частный репозиторий, сохраните PAT в качестве секрета хранилища ключей и используйте его при вызове задачи в настройке git-clone
.
Чтобы настроить секреты хранилища ключей для использования в настройках YAML:
- Убедитесь, что у управляемого удостоверения центра разработки есть роль читателя Key Vault и роль пользователя секретов Key Vault в хранилище ключей.
- Предоставьте роль "Пользователь секретов 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.
Настройка поля разработки с помощью существующих файлов конфигурации WinGet
Конфигурация WinGet принимает подход к определению уникальных наборов параметров программного обеспечения и конфигурации, необходимых для получения среды Windows в состоянии готовности к коду. Эти файлы конфигурации также можно использовать для настройки поля разработки с помощью задачи WinGet, включенной в каталог быстрого запуска Майкрософт.
В следующем примере показан файл настройки поля разработки, вызывающий существующий файл конфигурации требуемого состояния WinGet (DSC):
tasks:
- name: winget
parameters:
configure: "projectConfiguration.dsc.yaml"
Дополнительные сведения см. в статье о конфигурации WinGet.
Предоставление общего доступа к файлу настройки из репозитория кода
Сделайте файл настройки доступным для пулов полей разработки, назвав его imagedefinition.yaml и отправив его в репозиторий, на котором размещен каталог. При создании пула полей разработки можно выбрать файл настройки из каталога, который будет применяться к полям разработки в пуле.