你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Dev Box 团队自定义项创建任务

为 Microsoft Dev Box 团队自定义项创建任务时,可以为开发箱定义特定操作,这样有助于确保开发环境的一致性和高效性。 通过在目录中创建新任务,可以定义适合开发团队的可重复使用的组件,并为可能的配置添加防护措施。 本文将指导你为自定义任务创建目录、添加任务并将目录附加到开发人员中心或项目中。

重要

Dev Box 团队自定义功能目前以预览版提供。 有关预览版状态的详细信息,请参阅 Microsoft Azure 预览版的补充使用条款。 该文档定义了适用于 beta 版、预览版或未正式发布版 Azure 功能的法律术语。

先决条件

若要完成本文中的步骤,必须具备:

  • 配置有开发箱项目的开发人员中心。
  • GitHub 或 Azure Repos 中的现有目录。

配置自定义所需的权限

若要执行所需的操作来为开发箱创建和应用自定义项,需要拥有以下权限:

操作 权限/角色
为开发人员中心启用项目级目录。 对订阅拥有写入访问权限的平台工程师。
为项目启用目录同步设置。 对订阅拥有写入访问权限的平台工程师。
将目录附加到项目中。 项目的项目管理员或参与者权限。
创建自定义文件。 未指定任何内容。 任何人都可以创建自定义文件。
在开发箱创建过程中,使用开发人员门户上传和应用 YAML 文件。 Dev Box 用户。
将任务添加到目录。 添加到托管目录的存储库的权限。

什么是任务?

任务执行特定操作,例如安装软件。 每个任务都包含一个或多个 PowerShell 脚本,以及一个 task.yaml 文件,该文件提供参数并定义脚本的运行方式。 还可以在 task.yaml 文件中添加 PowerShell 命令。

可以将特选任务的集合存储在某个附加到开发人员中心的目录中,每个任务都位于单独的文件夹中。 Dev Box 支持使用 GitHub 存储库或 Azure Repos 存储库作为目录。 Dev Box 以递归方式扫描目录的指定文件夹以查找任务定义。

WinGet 和 PowerShell 可从任何开发人员中心获取,无需目录。 如果自定义项仅使用 WinGet 或 PowerShell,则可以在自定义文件中创建使用它们的任务。 如果需要使用其他工具或脚本,可以在目录中创建任务。

Microsoft 提供了一个快速入门目录,可帮助你开始使用自定义项。 它包括一组默认的任务,用于定义常见操作:

  • 使用 WinGet 包管理器安装软件。
  • 使用 WinGet 配置部署 Desired State Configuration (DSC)。
  • 使用 git-clone 克隆存储库。
  • 配置应用程序,例如安装 Visual Studio 扩展。
  • 运行 PowerShell 脚本。

在目录中创建任务

安装软件或运行脚本等任务会编入目录。 可以在目录中创建和管理任务、定义新任务并将目录附加到开发人员中心。 使用 Microsoft 的快速入门目录,可以开始执行常见任务,例如安装软件、部署 DSC、克隆存储库和配置应用程序。

定义新任务

若要为 Dev Box 团队自定义项创建和管理任务,请按照以下步骤执行操作:

  1. 创建存储库来存储任务。 (可选)你可以在自己的存储库中创建快速入门目录副本,将其用作起点。

  2. 通过修改现有的 PowerShell 脚本或创建新脚本,在存储库中创建任务。 若要开始创建任务,可以使用 GitHub 开发人员中心示例存储库中的示例和 PowerShell 文档中的示例。

  3. 将存储库作为目录附加到开发人员中心。

  4. 按照编写自定义文件中的步骤,为这些任务创建配置文件。

使用 Azure 密钥保管库中的机密

可以在 YAML 配置中使用 Azure 密钥保管库中的机密来克隆专用存储库,也可以使用你创作的任何需要访问令牌的自定义任务。

开发人员中心需要访问你的密钥保管库。 DevCenter 不支持服务标记,因此如果密钥保管库保持专用,必须允许受信任的 Microsoft 服务绕过防火墙。

若要配置在 YAML 配置中使用的密钥保管库机密,请执行以下操作:

  1. 请确保你的开发人员中心项目的托管标识在密钥保管库上具有 Key Vault 读者角色和 Key Vault 机密用户角色。

  2. 向应该能够在开发箱自定义期间使用机密的每个用户或用户组授予密钥保管库机密的 Key Vault 机密用户角色。 被授予该角色的用户或组必须包括开发人员中心的托管标识、你自己的用户帐户,以及开发箱自定义期间需要机密的任何用户或组。

若要详细了解如何在自定义文件中使用密钥保管库机密,请参阅使用自定义文件克隆专用存储库

附加目录

可以将目录附加到项目中,使任务可供开发人员团队访问。 若要将目录附加到项目中,请按照从 GitHub 或 Azure Repos 添加和配置目录中的步骤执行操作。