You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Dev Box customizations feature helps you streamline the setup of cloud-based development environments. Getting developers started on a new project or team can be complex and time-consuming. Customizations let you configure ready-to-code workstations with applications, tools, repositories, code libraries, packages, and build scripts. This article guides you through the process of creating, testing, and editing an image definition file for your dev box using Visual Studio Code (VS Code).
24
23
25
24
There are two ways to use customizations in Microsoft Dev Box. Team customizations create a shared configuration for a team of developers. User customizations create a personal configuration for an individual developer. The following table summarizes the differences between the two types of customizations.
26
25
27
-
| Feature | Team customizations | User customizations |
| Customizations apply to | All dev boxes in pool | Individual dev box|
30
+
| Easily shareable | Yes | No|
31
+
| Customizations file name | Imagedefinition.yaml | myfilename.yaml or Workload.yaml|
32
+
| Sourced from | Catalog| Uploaded or from personal repository |
33
+
| Supports key vault secrets | Yes | Yes|
35
34
36
35
37
36
## Prerequisites
@@ -55,15 +54,18 @@ To complete the steps in this article, you must:
55
54
## Choose a source for customization tasks
56
55
Dev Box tasks can be sourced from tasks built-in to the platform, or custom tasks stored in a catalog. Choose the source that best aligns with your customization needs and project requirements.
57
56
58
-
-**Use WinGet and PowerShell tasks**
59
-
Dev Box dev centers support PowerShell and WinGet tasks out of the box. If your customizations require only PowerShell and WinGet, proceed with creating your customizations file: [Create an image definition file](#create-an-image-definition-file).
57
+
-**Use WinGet and PowerShell built-in tasks**
58
+
Dev Box dev centers support PowerShell and WinGet tasks out of the box; you can get started with these built-in tasks. If your customizations require only PowerShell and WinGet, proceed with creating your customizations file: [Create an image definition file](#create-an-image-definition-file).
59
+
60
+
The WinGet in-built task is not the WinGet executable. WinGet in-built task is based on the PowerShell WinGet CmdLet.
60
61
61
62
-**Use a catalog to define custom tasks**
62
-
You can create your own custom tasks. To make custom tasks available to your entire organization, attach a catalog that contains custom task definitions to your dev center. Dev Box supports Azure Repos and GitHub catalogs.
63
-
To learn more about defining custom tasks, see: [Create tasks for Dev Box team customizations](how-to-create-customization-tasks-catalog.md).
63
+
You can create your own custom tasks. To make custom tasks available to your entire organization, attach a catalog that contains custom task definitions to your dev center. Dev Box supports Azure Repos and GitHub catalogs. Because tasks can only be defined at the dev center, you should store tasks and image definitions in separate repositories.
64
+
65
+
To learn more about defining custom tasks, see: [Create tasks for Dev Box team customizations](how-to-create-customization-tasks-catalog.md).
64
66
65
67
## Create image definitions at project level
66
-
Using a project can help manage Dev Box resources efficiently. By assigning each developer team their own project, you can organize resources effectively. You can attach a catalog that stores image definitions to a project to target developer teams.
68
+
Using a project can help manage Dev Box resources efficiently. By assigning each developer team their own project, you can organize resources effectively. You can create multiple image definitions in your catalog repository, each in their own folder to target different developer teams under your project.
67
69
68
70
### 1. Assign permissions for project admins.
69
71
To attach a catalog to a project, you must have Project Admin or Contributor permission for the project.
@@ -81,7 +83,10 @@ To enable the use of project-level catalogs at the dev center level:
81
83
For more information about adding catalogs to projects, see [Add and configure a catalog from GitHub or Azure Repos](../deployment-environments/how-to-configure-catalog.md).
82
84
83
85
## Create an image definition file
84
-
You can create and manage image definition files by using VS Code. You can use the Microsoft Dev Box extension in VS Code to discover the tasks in the attached catalog and test the image definition file.
86
+
You can create and test image definition files by using VS Code. In addition to using the built-in tasks, you can use the Microsoft Dev Box extension in VS Code to discover the custom tasks available through your dev center.
87
+
88
+
For detailed information about using cutom tasks, see the [schema reference](../reference-dev-box-customizations.md).
89
+
85
90
1. Create a dev box (or use an existing dev box) for testing.
86
91
1. On the test dev box, install VS Code and then install the Dev Box extension.
87
92
1. Download an example YAML image definition file from the samples repository and open it in VS Code.
0 commit comments