Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Используйте функцию настройки Microsoft Dev Box для упрощения настройки облачных сред разработки. Запуск нового проекта или присоединение к новой команде может быть сложным и трудоемким. Настройки группы используют файл определения образа (imagedefinition.yaml) для предварительной установки инструментов, клонированных репозиториев и задания параметров для каждого поля разработки в пуле. С помощью настроек группы администраторы могут предоставлять готовые рабочие станции кода с приложениями, инструментами, репозиториями, библиотеками кода, пакетами и скриптами сборки. В этой статье показано, как создать, проверить и изменить файл определения изображения для поля разработки в Visual Studio Code.
Настройки можно использовать в Dev Box двумя способами. Настройки группы создают общую конфигурацию для команды. Настройки пользователей создают личную конфигурацию для отдельного разработчика. В следующем списке перечислены различия между этими типами настроек.
- Настройки группы: определенный раз, примененный к каждому поле разработки в пуле с помощью imagedefinition.yaml в каталоге.
- Настройки пользователей: личный YAML, отправленный во время создания поля; влияет только на одно поле.
- Используйте команду для согласованности и соответствия требованиям; используйте пользователя для личных настроек.
Дополнительные сведения см. в разделе "Настройки Microsoft Dev Box".
Настройте настройки группы, выполнив следующие действия.
Предпосылки
| Продукт | Требования |
|---|---|
| Microsoft Dev Box | — Настройте центр разработки с пулом средств разработки и проектом для разработки, чтобы создать поле разработки.
— Присоединение каталога к центру разработки с задачами, которые можно использовать в файле определения образа. Если у вас нет каталога, см. статью "Добавление и настройка каталога" из GitHub или Azure Repos. -Разрешения - Чтобы создать поле разработки, выполните приведенные действия. Присоединитесь к группе безопасности Dev Box Users по крайней мере для одного проекта. - Чтобы включить каталоги уровня проекта для центра разработки, выполните следующие действия. Инженер платформы с доступом на запись в подписке. - Чтобы включить параметры синхронизации каталога для проекта, выполните следующие действия. Инженер платформы с доступом на запись в подписке. - Чтобы присоединить каталог к проекту, выполните приведенные действия. Разрешения администратора проекта или участника Центра разработки для проекта. |
| Visual Studio Code | — Установка последней версии |
Создание файла определения изображения
Чтобы определить инструменты, пакеты и конфигурации, необходимые команде, создайте файл определения образа в формате YAML, в который перечислены необходимые задачи для среды разработки.
Использование встроенных задач или каталога для пользовательских задач
Задачи — это многократно используемые действия, поступающие из встроенных примитивов (WinGet, PowerShell и Git-Clone) или из каталога, присоединенного к проекту центра разработки. Выберите источник, который лучше всего соответствует вашим потребностям настройки и требованиям к проекту.
Используйте WinGet, PowerShell и Git-Clone встроенные задачи. Центры разработки Dev Box изначально поддерживают задачи PowerShell и WinGet. Если для настройки требуются только PowerShell, WinGet или Git-Clone вы можете приступить к работе с этими встроенными задачами и создать файл определения образа. Дополнительные сведения см. в разделе "Создание файла определения изображения".
Это важно
Встроенная задача WinGet не совпадает с исполняемым файлом WinGet. Встроенная задача WinGet основана на командлете WinGet PowerShell.
Используйте каталог для определения пользовательских задач. Создайте собственные пользовательские задачи. Чтобы сделать пользовательские задачи доступными для всей организации, вложите каталог с пользовательскими определениями задач в центр разработки. Dev Box поддерживает каталоги Azure Repos и GitHub. Так как задачи определены только в центре разработки, хранят задачи и определения изображений в отдельных репозиториях.
Дополнительные сведения об определении пользовательских задач см. в разделе "Настройка задач" для настроек Dev Box.
Dev Box поддерживает агентический рабочий процесс с режимом агента GitHub Copilot. Используйте запросы естественного языка для создания файла определения изображения (imagedefinition.yaml). GitHub Copilot упрощает настройку среды Dev Box, так как вы описываете потребности беседы вместо создания файлов YAML вручную.
Рабочий процесс агента Dev Box позволяет:
- Имитируйте текущую среду разработки . Создайте или измените определение, соответствующее конфигурации текущего компьютера.
- Используйте контекст репозитория . Создание или изменение определения в контексте определенного репозитория GitHub.
- Используйте инструкции по естественному языку. Создайте файл определения изображения, описывая нужную среду разработки.
Замечание
Рабочий процесс агента поддерживает только примитивные задачи Dev Box, включая WinGet, PowerShell и Git-Clone.
Создание файла определения изображения
Откройте Visual Studio Code.
Установите расширение Dev Box.
Откройте расширения (CTRL+SHIFT+X), найдите Поле разработки и установите расширение.
Установите расширение GitHub Copilot, настроенного в VS Code.
Убедитесь, что режим агента включен, задав chat.agent.enabled в редакторе параметров. Для этого параметра требуется Visual Studio Code 1.99 или более поздней версии.
Откройте чат Copilot в VS Code.
Убедитесь, что средства Dev Box предварительно выбраны в разделе "Выбор инструментов".
Выберите режим агента и выберите модель: Claude 3.5 Sonnet.
Укажите запросы естественного языка, например:
"Я хочу настроить поле разработки со всеми инструментами и пакетами, необходимыми для работы с этим репозиторием [имя репозитория]".
"Я хочу предварительно установить visual Studio 2022 Enterprise, Visual Studio Code, Git, пакет SDK для .NET 8, Node.js LTS и Docker Desktop в поле разработки и клонировать репозиторий команды [URL-адрес] в поле разработки".
"Я хочу настроить поле разработки со всеми средствами разработки и пакетами, установленными на моем текущем компьютере".
Подсказка
Клонируйте и откройте конкретный репозиторий в Visual Studio Code, если вы хотите создать определение в контексте репозитория.
Следуйте инструкциям по настройке пакетов.
При появлении запроса нажмите кнопку "Продолжить ", чтобы продолжить настройку пакета.
Copilot создает файл imagedefinition.yaml .
Уточнение с дополнительными запросами.
- Продолжайте взаимодействовать с агентом, пока нужные средства и пакеты не появятся в файле.
Отправка файла определения изображения в репозиторий
Вы можете использовать репозиторий GitHub или Azure Repos в качестве каталога, чтобы сделать файл определения образа доступным из проекта разработки. Каждый проект может содержать каталог, в котором хранятся несколько файлов определения изображений, которые можно настроить в пулах для выравнивания потребностей команд разработчиков.
После получения файла определения изображения, который вы хотите использовать, отправьте его в каталог. В следующих разделах показано, как подключить каталог к проекту и сделать определение образа доступным для выбора при настройке пулов полей разработки.
Настройка определений изображений на уровне проекта
Проекты помогают эффективно управлять ресурсами Dev Box. Вы можете назначить каждой команде разработчиков собственный проект, чтобы эффективно упорядочить ресурсы. Создайте несколько определений образов в репозитории каталога, каждая из которых содержит собственную папку, чтобы целевые группы разработчиков в проекте.
Включение каталогов на уровне проекта
Включите каталоги уровня проекта на уровне центра разработки перед добавлением каталога в проект. Чтобы включить каталоги уровня проекта на уровне центра разработки, выполните следующие действия.
Перейдите в центр разработки в портале Azure.
В меню слева в разделе "Параметры" выберите параметры центра разработки.
В разделе "Каталоги уровня проекта" выберите "Включить каталоги для каждого проекта" и нажмите кнопку "Применить".
Дополнительные сведения о добавлении каталогов в проекты см. в разделе "Добавление и настройка каталога" из GitHub или Azure Repos.
Настройка параметров синхронизации каталога для проекта
Настройте проект для синхронизации определений изображений из каталога. Этот параметр позволяет использовать определения изображений в каталоге для создания пулов полей разработки.
Войдите на портал Azure.
В поле поиска введите projects. В списке результатов выберите "Проекты".
Откройте проект Dev Box, в котором необходимо настроить параметры синхронизации каталога.
Выберите каталоги.
Выберите параметры синхронизации.
На панели параметров синхронизации выберите определения изображений, а затем нажмите кнопку "Сохранить".
Присоединение каталога, содержащего файл определения образа
Чтобы использовать файл определения изображения, вложите каталог, содержащий файл в проект. Это делает определение образа доступным для выбора при настройке пулов полей разработки.
В области "Определения изображений" показаны определения изображений, которые может использовать проект.
Сведения о присоединении каталогов см. в статье "Добавление и настройка каталога" из GitHub или Azure Repos.
Настройка пула полей разработки для использования определения образа
Позвольте команде разработчиков использовать настройки, настроив пул полей разработки с файлом определения образа. Сохраните файл определения изображения в репозитории, связанном с проектом в качестве каталога. Укажите этот файл в качестве определения образа для пула, а настройки применяются к новым полям разработки.
Выполните следующие действия, чтобы создать пул полей разработки и указать определение образа:
Войдите на портал Azure.
В поле поиска введите projects. В списке результатов выберите Проекты.
Откройте проект Dev Box, с которым вы хотите связать новый пул средств разработки.
Выберите пулы полей разработки и нажмите кнопку "Создать".
В области «Создание пула рабочих сред разработки» введите следующие значения:
Настройки Ценность Имя Введите имя пула. Имя пула отображается разработчикам при создании полей разработки. Он должен быть уникальным в проекте. Определение В этом поле перечислены определения изображений из доступных каталогов и определений полей разработки. Выберите файл определения изображения. Сетевое подключение Выберите "Развернуть в размещенной сети Майкрософт " или используйте существующее сетевое подключение. Включить единый вход в систему Выберите "Да" , чтобы разрешить единый вход для полей разработки в этом пуле. Для организации необходимо настроить единый вход. Дополнительные сведения см. в разделе "Включить единый вход" для полей разработки. Привилегии создателя среды разработки Выберите локальный администратор или стандартный пользователь. Включение автоматической остановки Да — значение по умолчанию. Выберите "Нет ", чтобы отключить расписание автозаполнения. После создания пула можно настроить расписание автостопирования. Время остановки Выберите время, чтобы остановить все поля разработки в пуле. Часовой пояс Выберите часовой пояс для времени остановки. Лицензирование Установите этот флажок, чтобы убедиться, что у вашей организации есть лицензии на гибридные преимущества Azure для применения к полям разработки в этом пуле. Нажмите кнопку "Создать".
Убедитесь, что в списке появится новый пул полей разработки. Возможно, вам нужно обновить экран.
Создание поля разработки с помощью портала разработчика
Чтобы проверить применение настроек из файла определения образа, создайте поле разработки на портале разработчика Dev Box. Следуйте инструкциям в руководстве Quickstart: Создание и подключение к контейнеру разработки с помощью портала разработчика Dev Box. Затем подключитесь к новому поле разработки и убедитесь, что настройки работают должным образом.
Внесите изменения в файл определения изображения и создайте новое поле разработки для их тестирования. Если вы уверены, что настройки правильны, создайте повторно используемый образ.
Использование модульных скриптов и файлов в настройках Dev Box
Модульные скрипты и файлы, такие как скрипты PowerShell, файлы требуемой конфигурации (DSC), файлы конфигурации, текстовые файлы или изображения, можно хранить в общем каталоге, чтобы можно было повторно использовать и стандартизировать настройки Dev Box в нескольких образах.
Они предназначены для:
- Повышение повторного использования нескольких настроек Dev Box
- Сокращение дублирования и затрат на обслуживание
- Включение согласованных методик конфигурации
Структура каталога
Файлы в той же папке, что и imagedefinition.yaml или в вложенных папках, копируются в поле разработки при создании. Эти файлы можно использовать при выполнении задач настройки.
На следующей схеме показана структура каталога для модульных скриптов и файлов в настройках Dev Box.
На верхнем уровне есть папка определений изображений . Внутри вы найдете вложенные папки определения изображения, такие как frontend-imagedef и backend-imagedef. В папке frontend-imagedef есть файл скрипта PowerShell. Папка backend-imagedef включает вложенную папку, содержащую файлы DSC. Для хранения скриптов и других файлов можно использовать любую структуру.
Справочник по модульным скриптам или файлам
Файл определения образа задает список задач , выполняемых в системном контексте и userTasks , которые выполняются после первого входа в новое поле разработки в контексте пользователя. Используйте отображаемые имена для задач, чтобы уточнить назначение каждой задачи. В файле определения образа наведите ссылку на модульные скрипты, которые вы хотите запустить, или файлы, которые вы хотите включить.
$schema: "1.0"
name: "modular-script"
image: microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win11-m365-gen2
description: "This definition shows examples of referencing PowerShell scripts and DSC configuration files."
tasks:
- name: ~/powershell
displayName: "Modular Script"
parameters:
script: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.ps1
- name: ~/winget
displayName: "Install VS Code"
parameters:
configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso.dsc.yaml
userTasks:
- name: ~/winget
displayName: "Install Insomnia"
parameters:
configurationFile: C:\ProgramData\Microsoft\DevBoxAgent\ImageDefinitions\catalog-name\modular-script\contoso-user.dsc.yaml
Dev Box проверяет, что все задачи ссылаются на встроенные средства (например, PowerShell или WinGet) или доступные на уровне Dev Center. Он скачивает все файлы определения изображений в заданный каталог на новой рабочей станции разработчика вместе с соответствующими файлами задач. Затем он выполняет каждую задачу в скачанном каталоге задач и отправляет состояние задачи после завершения.
Следующий шаг
Теперь, когда у вас есть файл определения образа, который настраивает и создает поля разработки для вашей команды разработки, узнайте, как оптимизировать время создания поля разработки с помощью визуализации центра разработки.