快速开始
前提条件:在你配置 Devin 的环境之前,Devin 必须能够访问你的代码仓库。如果你还没有设置 Git 集成,请参阅开始之前了解设置步骤。Enterprise 用户还需要在 Enterprise Settings > Repository Permissions 中为每个组织授予其代码仓库的访问权限。
还在使用经典配置吗? 你可以随时迁移到声明式配置,Devin 可以帮你完成大部分迁移工作。请参阅迁移到声明式配置
。
- 让 Devin 代劳(推荐)
- 手动设置
工作原理
| 概念 | 含义 | 类比 |
|---|---|---|
| 蓝图 | 一种 YAML 配置,用于描述需要安装的内容以及如何设置 Devin 的环境 | Dockerfile |
| 构建 | 运行你的 蓝图、克隆仓库并生成快照的过程 | docker build |
| Snapshot | 环境的冻结、可启动镜像,会话从该镜像启动 | Docker image |
蓝图 各部分
| Section | 目的 | 运行时机 |
|---|---|---|
initialize | 安装工具、运行时和系统软件包 | 仅在构建期间运行。结果会保存到快照中。 |
maintenance | 安装/更新项目依赖,写入凭据配置文件 | 在构建期间 + 在每次会话开始时 |
knowledge | 供 Devin 参考的信息 (lint、test、build 命令) | 不会执行。在会话开始时加载到 Devin 上下文中。 |
initialize 用于只需执行一次的内容:语言运行时、系统软件包和全局 CLI 工具。
maintenance 用于安装需要保持最新的依赖。它会在构建期间运行,并在拉取最新代码后于会话开始时再次运行,因此命令应尽量快速且支持增量更新 (使用 npm install,不要使用 npm ci) 。
knowledge 是参考信息,不会执行。你可以通过它告诉 Devin 正确的 lint、测试和构建命令。条目应保持简洁,并聚焦于可执行命令。
这里的 knowledge 与 Knowledge 产品功能的区别: 蓝图 中的
knowledge 部分用于存放与环境相关的简短命令参考。对于架构文档、规范和团队
工作流程,请改用独立的 Knowledge 功能。蓝图作用域
| Level | Where to configure | What to put here |
|---|---|---|
| Organization | 设置 > 环境配置 > 组织级设置 | 所有仓库共享的工具:语言运行时、包管理器、Docker 身份验证 |
| Repository | 设置 > 环境配置 > [repo name] | 项目专用设置:npm install、lint/test/build 命令 |
maintenance 可以使用组织 initialize 中安装的工具。如果某个工具只有一个仓库需要,就把它放到该仓库的蓝图中;如果每个仓库都需要,就把它放到组织蓝图中。
**Enterprise 用户:**还有第三个层级,即企业级蓝图,它会应用于所有组织。详见 Enterprise 环境概览。
构建与会话
快照
构建的工作原理
会话如何运作
- Enterprise 和组织范围内的
maintenance会运行 (在~中) 。 - 系统会拉取相关 repo 的最新代码。
- 该 repo 的
maintenance会再次运行,以捕获自上次构建以来的依赖变更。 - 该 repo 的
Knowledge条目会加载到 Devin 上下文中。
Knowledge 按 repo 单独管理。 如果你配置了 5 个 repo,Devin 只会看到它当前正在处理的那个 repo 的 Knowledge 条目。
哪些情况会触发构建
| Trigger | Description |
|---|---|
| 保存蓝图 | 创建、更新或删除蓝图 |
| 添加或移除仓库 | 仓库列表发生任何变更 |
| 添加仓库 secrets | 新增 secrets 后,需要重建才能生效 |
| 手动触发 | 在 UI 中点击 Build 或 Rebuild |
| 定期刷新 | 自动进行,大约每 24 小时一次 |
| Devin 建议 | Devin 在会话期间建议更改蓝图 |
构建状态
| 状态 | 含义 |
|---|---|
| Success | 所有步骤均已完成。快照已就绪。 |
| Partial | 某些仓库级别的步骤失败,但快照仍可用。成功的仓库可正常工作;失败的仓库则需要修复其蓝图。 |
| Failed | 发生关键故障 (组织或企业级设置失败) 。快照不可用。 |
| Cancelled | 已被较新的构建取代,或被手动取消。 |
管理环境
仓库状态
| State | Meaning |
|---|---|
| Configured | 具有包含 initialize/maintenance/knowledge 的蓝图。已在快照中完成完整设置。 |
| 已包含 | 已克隆到快照中,但没有自定义蓝图。Devin 可以访问代码。 |
| Available | 已连接到 org,但尚未添加到环境中。未克隆。 |
Secrets
$VARIABLE_NAME 语法引用 secrets。在 Settings > Secrets 中添加。
initialize 期间将敏感值写入配置文件,该值就会保留在快照中。请始终在 maintenance 中写入凭据。
有关 secret 作用域和行为的详细信息,请参阅 Blueprint 参考。
多个仓库
~/.bashrc) ,则以后运行的那个为准。为避免冲突,请将共享工具的安装放在组织级蓝图中。
Monorepo
(cd ... && ...) 会在子 shell 中执行,因此工作目录会在下一步恢复。
固定与自动更新
success 或 partial,且创建时间不超过 7 天) ,然后点击 Pin。固定后,系统会跳过定期刷新,且 UI 会显示 Auto-updates paused。
**取消固定:**点击 Resume auto-updates。Devin 会切换到最新成功构建。
基于 Git 的蓝图
目前尚不支持基于 Git 的蓝图,该功能即将推出。届时,你将能够将蓝图存储在代码仓库中,并在其发生变更时自动触发构建。目前,
请通过 UI 配置蓝图。
构建问题排查
初始化步骤失败
initialize 并保存。保存后会自动触发新的构建。
仓库克隆失败
维护步骤失败
maintenance 或 initialize 以安装缺失的依赖,或者修复你的代码仓库中的锁文件。
构建超时
迭代修复
- 检查构建日志,找出失败原因
- 更新相关 蓝图
- 保存 (会自动激活新的构建)
- 查看新构建的日志
- 重复上述步骤,直到构建成功
你不必等失败的构建完成。保存新配置会取消所有已排队的构建,并从头开始新的构建。
后续步骤
蓝图参考
完整字段参考:步骤类型、GitHub Actions、环境变量、secrets 和文件附件。
模板库
适用于 Python、Node.js、Go、Java、Ruby、Rust 和高级模式的蓝图,可直接复制粘贴。
从经典设置迁移
逐步指导你从交互式向导迁移到声明式蓝图。
企业环境管理
企业范围的环境管理:三级层级结构、secrets 和跨组织配置。
