Skip to main content

什么是 Devin 的环境?

Devin 的环境是 Devin 运行的工作空间:一个基于 Linux 的虚拟机,其中已克隆你的代码仓库、安装好工具、解析依赖、设置环境变量并应用配置。它相当于开发者的笔记本电脑:操作系统、终端、已安装的工具链、已克隆的代码仓库,以及这些工具所需的凭据和设置。 你的环境配置会保存为一个快照:也就是一个冻结的、可启动的镜像,每个会话都会从它启动。只需配置一次,每个会话都会启动到这一已验证可用的状态。

为什么环境配置很重要

Devin 的工作方式和任何开发者一样:克隆代码仓库、安装依赖、运行 lint、编译代码并执行测试。要完成这些工作,它需要一个可用的环境。没有环境,Devin 就无法构建你的项目、运行测试,也无法验证自己的工作成果。这就像你雇了一名开发者,却不给他配一台电脑。 环境配置为 Devin 提供从第一次会话起高效工作所需的工具、运行时、凭据、环境变量和项目相关知识。它还能加快会话速度:你的快照中已经克隆好了代码仓库并安装了依赖,因此 Devin 可以直接开始高效工作,而不必每次都从头设置。 这是你为提升 Devin 在你的代码库上的效果所能做的最有价值的一件事。

会话如何工作

每个会话都从一个快照启动;快照是环境的冻结、可启动镜像。
  1. 快照:预先构建的镜像,包含你的代码仓库、工具和依赖,并通过配置提前准备好。
  2. 会话:Devin 会从快照启动一个全新的副本。每个会话都从相同的干净状态开始。会话中的更改不会保存回快照。
当你的配置发生更改时,系统会自动构建新的快照。每个组织都恰好只有一个生效中的快照。该组织中的每个会话都从同一个快照启动。

开始之前

在配置 Devin 的环境之前,请先确保 Devin 可以访问你的代码仓库:
  1. 连接你的 SCM 提供商。 前往 设置 > 连接,连接 GitHub、GitLab、Bitbucket 或 Azure DevOps。在设置过程中,选择 Devin 可以访问的代码仓库。详细指示请参阅集成指南
完成后,你就可以继续配置环境。
  1. 连接你的 SCM 提供商 (enterprise admin) 。 前往 设置 > 集成,连接你的 SCM 提供商。设置指示请参阅 Git 集成
  2. 授予每个组织访问其代码仓库的权限 (enterprise admin) 。 前往 设置 > 仓库权限,为每个组织分配代码仓库。只有在你明确授予访问权限后,各组织才能查看或使用这些代码仓库。请参阅 仓库权限
  3. 配置环境 (org admin) 。 某个组织获得代码仓库访问权限后,即可继续进行下方的环境配置。
如果你跳过这些步骤,那么当你尝试将代码仓库添加到环境中时,它们将不会显示出来。Devin 必须先通过你的 Git 集成获得代码仓库访问权限,然后才能进行克隆和构建。

让 Devin 帮你设置

这是配置 Devin 环境最简单的方法,适用于大多数代码仓库。
启动一个 Devin 会话并输入: “为此代码仓库设置你的环境。”
1

Devin 探索你的代码仓库

Devin 会检查你的代码库,并确定所需的工具、运行时和依赖。
2

查看建议

Devin 会在时间线中以建议卡片的形式提供蓝图。查看建议的设置,并批准要使用的卡片。
3

构建创建快照

Devin 会根据已批准的蓝图运行构建,并生成每个会话启动时使用的快照。
如需完整操作说明,请参阅让 Devin 来完成

环境变量与 secrets

环境变量是蓝图的一部分。请在步骤的 env 字段中定义非敏感值,或将共享值写入 $ENVRC;有关 $ENVRC 和 direnv 模式,请参阅环境模板。Devin 可以从你的代码仓库推断出工具和依赖,但无法发现你的凭据。 请将敏感值作为加密的 Secrets 存储在蓝图编辑器的 Secrets 选项卡中,然后通过 $VARIABLE_NAME 引用它们。secrets 会在构建和会话期间作为环境变量注入;请参阅蓝图 secrets 指南环境变量与 secrets 参考

选择配置方式

向 Devin 提问是默认方式。如果你想自行编写配置,请使用推荐的手动方式——声明式配置。蓝图描述你的环境,构建会自动生成快照。

声明式配置

推荐的手动方式。 审核或编辑 Devin 生成的 YAML,以控制需要安装的内容、如何设置依赖,以及 Devin 需要了解的信息。
  • 受版本控制
  • 自动更新
  • 可在不同层级间组合
  • 可复现

蓝图参考

蓝图的完整字段规范:各个部分、GitHub Actions 支持、环境变量和文件附件。

模板库

适用于 Python、Node.js、Go、Java、Ruby、Rust 及高级模式的即用型蓝图模板。

环境管理

环境管理:3 层层级结构、secrets 和跨组织配置。