|
1 | 1 | ---
|
2 | 2 | title: Streamline Your Workflow with Dev Box Team Customizations
|
3 |
| -description: Understand how to use Dev Box Team Customizations to create ready-to-code configurations for your development teams. |
| 3 | +description: Understand how to use Dev Box team customizations to create ready-to-code configurations for your development teams. |
4 | 4 | author: RoseHJM
|
5 | 5 | ms.author: rosemalcolm
|
6 | 6 | ms.service: dev-box
|
7 | 7 | ms.custom:
|
8 | 8 | - ignite-2024
|
9 | 9 | ms.topic: concept-article
|
10 | 10 | ms.date: 11/06/2024
|
11 |
| -#customer intent: As a Project Admin or Dev Center Admin, I want to understand how to use Dev Box Team Customizations so that I can create efficient, ready-to-code configurations for my development teams. |
| 11 | + |
| 12 | +#customer intent: As a Dev Center Admin or Project Admin, I want to understand how to use Dev Box team customizations so that I can create efficient, ready-to-code configurations for my development teams. |
12 | 13 | ---
|
13 | 14 |
|
14 |
| -# Microsoft Dev Box Team Customizations |
15 |
| -Getting developers started on a new project or team can be complex and time-consuming. Microsoft Dev Box Team Customizations enables you to streamline developer environment setup. With Team Customizations, you can configure ready-to-code workstations with necessary applications, tools, repositories, code libraries, packages, and build scripts. |
16 |
| -Team Customizations allows you to define a shared Dev Box configuration for each of your development teams without having to invest in setting up an imaging solution like Packer or Azure virtual machine (VM) Image Templates. It provides a lightweight alternative that allows central platform engineering teams to delegate Dev Box configuration management to the teams that use them. Team Customizations also offers an in-built way of optimizing your team's Dev Box customizations by flattening them into a custom image using the same customization file, without the need to manage added infrastructure or maintain image templates. |
| 15 | +# Microsoft Dev Box team customizations |
| 16 | + |
| 17 | +Getting developers started on a new project or team can be complex and time-consuming. The Microsoft Dev Box *team customizations* feature helps you streamline setup of the developer environment. With team customizations, you can configure ready-to-code workstations with necessary applications, tools, repositories, code libraries, packages, and build scripts. |
| 18 | + |
| 19 | +You can use team customizations to define a shared Dev Box configuration for each of your development teams without having to invest in setting up an imaging solution like Packer or Azure virtual machine (VM) image templates. Team customizations provide a lightweight alternative that allows central platform engineering teams to delegate Dev Box configuration management to the teams that use them. |
| 20 | + |
| 21 | +Team customizations also offer an in-built way of optimizing your team's Dev Box customizations by flattening them into a custom image. You use the same customization file, without the need to manage added infrastructure or maintain image templates. |
17 | 22 |
|
18 | 23 | [!INCLUDE [customizations-preview-text](includes/customizations-preview-text.md)]
|
19 | 24 |
|
20 |
| -## How does Dev Box Team Customizations work? |
21 |
| -When you configure Dev Box Team Customizations for your organization, careful planning and informed decision-making are essential. The following diagram provides an overview of the process and highlights key decision points. |
| 25 | +## How do Dev Box team customizations work? |
22 | 26 |
|
23 |
| -:::image type="content" source="media/concept-what-are-team-customizations/dev-box-customizations-workflow.svg" alt-text="Diagram showing the workflow for Dev Box Team Customizations, including steps for planning, configuring, and deploying customizations." lightbox="media/concept-what-are-team-customizations/dev-box-customizations-workflow.svg"::: |
24 |
| - |
25 |
| -- **Configure your dev center:** |
| 27 | +When you configure Dev Box team customizations for your organization, careful planning and informed decision-making are essential. The following diagram provides an overview of the process and highlights key decision points. |
| 28 | + |
| 29 | +:::image type="content" source="media/concept-what-are-team-customizations/dev-box-customizations-workflow.svg" alt-text="Diagram that shows the workflow for Dev Box team customizations, including steps for planning, configuring, and deploying customizations." lightbox="media/concept-what-are-team-customizations/dev-box-customizations-workflow.svg"::: |
| 30 | + |
| 31 | +- **Configure your dev center**: |
26 | 32 | - Enable project-level catalogs.
|
27 |
| - - Assign permissions for Project Admins. |
28 |
| -- **Decide whether to use a catalog with custom reusable components:** |
29 |
| - - Dev center |
30 |
| - - PowerShell or WinGet statements. |
31 |
| - - Your own catalog |
| 33 | + - Assign permissions for project admins. |
| 34 | +- **Decide whether to use a catalog with custom reusable components**: |
| 35 | + - Dev center: |
| 36 | + - Use PowerShell or WinGet statements. |
| 37 | + - Your own catalog: |
32 | 38 | - Host in Azure Repos or GitHub.
|
33 | 39 | - Add tasks.
|
34 |
| - - Attach to dev center or project. |
35 |
| -- **Create a team customizations file:** |
36 |
| - - Create a team customizations file called imagedefinition.yaml. |
37 |
| -- **Specify image in a dev box pool:** |
| 40 | + - Attach to a dev center or project. |
| 41 | +- **Create a customization file:** |
| 42 | + - Create a customization file called imagedefinition.yaml. |
| 43 | +- **Specify an image in a dev box pool:** |
38 | 44 | - Create or modify a dev box pool and specify imagedefinition.yaml as the image definition.
|
39 | 45 | - **Choose how you'll use the image definition:**
|
40 |
| - - Optimize for team customization. |
41 |
| - - Build each time you create a dev box. |
| 46 | + - Optimize for team customization. |
| 47 | + - Build each time you create a dev box. |
42 | 48 | - **Create dev box:**
|
43 |
| - - Create your dev box from the configured pool using the developer portal. |
| 49 | + - Create your dev box from the configured pool by using the developer portal. |
44 | 50 |
|
45 | 51 | ## What is a customization file?
|
46 |
| -Dev Box customizations use a yaml formatted file to specify a list of tasks to apply from the catalog when creating a new dev box. These tasks identify the catalog task and provide parameters like the name of the software to install. The customization file is then made available to the developers creating new dev boxes. |
47 | 52 |
|
48 |
| -You can use secrets from your Azure Key Vault in your customization file to clone private repositories, or with any custom task you author that requires an access token. |
| 53 | +Dev Box customizations use a YAML-formatted file to specify a list of tasks to apply from the catalog when developers are creating a dev box. These tasks identify the catalog task and provide parameters like the name of the software to install. You then make the customization file available to the developers. |
| 54 | + |
| 55 | +You can use secrets from your Azure key vault in your customization file to clone private repositories, or with any custom task you author that requires an access token. |
49 | 56 |
|
50 | 57 | ## What are tasks?
|
51 |
| -Dev Box customization tasks are wrappers for PowerShell scripts, allowing you as a platform team to define reusable components that your teams can use in their customizations. WinGet and PowerShell are available as primitive tasks out of the box. |
52 | 58 |
|
53 |
| -When creating tasks, determine which need to run in a SYSTEM context and which can run after sign-in, in a user context. Team customizations can be run in a SYSTEM context and in a user context (after sign-in). Individual customizations can only run in a user context. |
| 59 | +Dev Box customization tasks are wrappers for PowerShell scripts. You use them to define reusable components that your teams can use in their customizations. WinGet and PowerShell are available as primitive tasks. |
54 | 60 |
|
55 |
| -## Differences Between Team and Individual Customizations |
56 |
| -Individual developers can attach a yaml-based customization file when creating their Dev Box to control the development environment on their Dev Box. Individual customizations should be used only for personal settings and apps. Tasks specified in the individual customization file run only in the user context, after sign-in. While teams of developers can share common yaml files, this approach can be inefficient and error-prone, and against compliance policies. Dev Box Team Customizations provides a workflow for developer team leaders, Project Admins, and dev center administrators to preconfigure customization files on Dev Box pools. This way, a developer creating a dev box doesn't need to find and upload a customization file for themselves. |
| 61 | +When you're creating tasks, determine which of them need to run in a system context and which of them can run in a user context (after sign-in). Team customizations can run in both contexts. Individual customizations can run only in a user context. |
| 62 | + |
| 63 | +## Differences between team customizations and individual customizations |
| 64 | + |
| 65 | +Individual developers can attach a YAML-based customization file when creating their dev box to control the development environment. Developers should use individual customizations only for personal settings and apps. Tasks specified in the individual customization file run only in the user context, after sign-in. |
| 66 | + |
| 67 | +Although teams of developers can share common YAML files, this approach can be inefficient and error prone. It can also be against compliance policies. Dev Box team customizations provide a workflow for developer team leaders, project admins, and dev center administrators to preconfigure customization files in dev box pools. This way, a developer who's creating a dev box doesn't need to find and upload a customization file. |
57 | 68 |
|
58 | 69 | ## Key terms
|
59 |
| -When working with Dev Box Team Customizations, you should be familiar with the following key terms: |
60 |
| - |
61 |
| -- **Catalog** |
62 |
| - - Can be stored in your code repository, or in a separate repository of customization files. |
63 |
| - - Hosted on GitHub or Azure Repos. |
64 |
| - - Attached to dev center or project to make tasks accessible to the developer team. |
65 |
| -- **Tasks** |
66 |
| - - Perform specific actions, like installing software. |
67 |
| - - Consist of one or more PowerShell scripts and a task.yaml file. |
68 |
| -- **Customization file** |
69 |
| - - Yaml-based file defining tasks for dev boxes. |
70 |
| - - When shared across a team, it's an *image definition* and specifies the base dev box image, along with its customization options. |
| 70 | + |
| 71 | +When you're working with Dev Box team customizations, you should be familiar with the following key terms: |
| 72 | + |
| 73 | +- **Catalog**: |
| 74 | + - Stored in your code repository or in a separate repository of customization files. |
| 75 | + - Hosted on GitHub or Azure Repos. |
| 76 | + - Attached to a dev center or project to make tasks accessible to the developer team. |
| 77 | +- **Task**: |
| 78 | + - Performs specific actions, like installing software. |
| 79 | + - Consists of one or more PowerShell scripts and a task.yaml file. |
| 80 | +- **Customization file**: |
| 81 | + - Defines tasks for dev boxes and is YAML based. |
| 82 | + - Provides an image definition when it's shared across a team by specifying the base image and customization options for a dev box. |
71 | 83 |
|
72 | 84 | ## Related content
|
73 |
| -- [Quickstart: Create Dev Box Team Customizations](quickstart-team-customizations.md) |
74 |
| -- [Write a Team Customization file for Dev Box](how-to-write-customization-file.md) |
75 |
| -- [Configure imaging for Dev Box Team Customizations](how-to-configure-customization-imaging.md) |
76 |
| -- [Configure customization tasks](how-to-create-customization-tasks-catalog.md) |
| 85 | + |
| 86 | +- [Quickstart: Create a dev box by using team customizations](quickstart-team-customizations.md) |
| 87 | +- [Write a customization file for a dev box](how-to-write-customization-file.md) |
| 88 | +- [Configure imaging for Dev Box team customizations](how-to-configure-customization-imaging.md) |
| 89 | +- [Create tasks for Dev Box team customizations](how-to-create-customization-tasks-catalog.md) |
0 commit comments