为什么要迁移?
- 自动更新:当你的仓库发生变化时,蓝图会自动重建,因此依赖始终保持最新
- 版本受控:你的环境配置与代码一同存放,并保留完整的历史记录
- 可组合:企业、组织和仓库蓝图可以清晰地分层组合
- 可复现:每次构建都会基于同一个蓝图生成相同的结果
- 更快的会话:快照会预先构建好,仓库已克隆、依赖已安装,因此会话启动后即可开始工作
我们建议你在准备好后迁移到声明式配置。在此期间,你的经典设置仍可继续使用。
开始前
检查你的组织是否符合条件
检查你的组织是否符合条件
在 Machine Configuration 页面 (经典设置页面) 查找是否有一条横幅提示,内容为 “切换到 Devin 的新 v2 环境”。如果你看到了,就说明你的组织符合条件。如果你没有看到这条横幅提示,说明你的组织尚未启用声明式配置。该功能正在逐步推出。请联系你的企业管理员或支持团队。
谁可以迁移
谁可以迁移
迁移需要 组织管理员 权限 (
ManageOrgSettings) 。如果你不是组织管理员,你会在迁移页面看到“需要管理员权限”的提示。可以回退吗?
可以回退吗?
可以。你现有的快照会被完整保留。你可以随时回退,你的组织会立即切换回之前的快照。不会丢失任何内容。
迁移步骤
1. 前往迁移页面
2. 启用声明式配置
这不会影响你现有的快照。系统会保留该快照,以便你在需要时回退。
3. 让 Devin 生成你的蓝图
- 一个在新的声明式环境中运行的主会话,负责编写蓝图
- 一个在你现有快照中运行的辅助会话,Devin 用它来检查当前已安装的内容 (语言版本、系统软件包、正在运行的服务等)
4. 检查并调整
- 前往 Settings > 环境配置 查看已生成的内容
- 检查构建状态,确认显示为 Success。
- 启动一个测试会话,验证一切是否正常:
- 确认 repos 已克隆,且依赖已安装
- 尝试运行你的 lint、test 和 build 命令
- 验证任何自定义工具或运行时是否可用
initialize 步骤、maintenance 命令或 knowledge 条目。
回滚
- 前往 设置 > 环境迁移
- 点击 恢复为经典设置
- 你的组织会立即切换回之前的快照
将经典设置步骤映射到蓝图
| 经典设置步骤 | 蓝图中的对应项 | 说明 |
|---|---|---|
| Git pull | 自动 | 蓝图会自动处理 git clone 和 pull |
| Secrets | UI 中的 Secrets 面板 | 在 设置 > 环境配置 中进行配置 |
| 安装依赖 | initialize | 一次性设置:语言运行时、系统软件包、全局工具 |
| 维护依赖 | maintenance | 每个会话都要重复执行的设置:npm install、pip install 等 |
| Lint | knowledge (name: lint) | 仅供参考,不会在构建期间执行 |
| Test | knowledge (name: test) | 仅供参考,不会在构建期间执行 |
| 运行应用 | knowledge (name: dev-server) | 仅供参考,不会在构建期间执行 |
| 其他说明 | knowledge | 供 Devin 使用的自由格式条目 |
示例
- 安装依赖:
nvm use 20 && npm install - 更新依赖:
npm install - 代码检查:
npm run lint - 测试:
npm test - 运行应用:
npm run dev
故障排查
构建失败
构建失败
检查构建日志中的具体报错。常见原因:
- 某个命令在经典设置终端中可用,但在构建上下文中无法运行 (例如需要加上
-y标志的交互式提示) - 缺少 secrets (请确保已在 蓝图 编辑器的 secrets 面板中配置好 secrets)
- 将你的 蓝图 命令与原始命令进行对比,找出差异
sessions 中缺少依赖
sessions 中缺少依赖
请确保你的
maintenance 部分包含与经典 Maintain Dependencies 步骤相同的依赖安装命令。像 npm install 或 pip install -r requirements.txt 这样的命令
应该放在 maintenance 中,而不是 initialize。Devin 不知道如何运行 lint 或测试
Devin 不知道如何运行 lint 或测试
检查你的
knowledge 部分是否包含名为 lint 和 test 的条目,并且命令正确。Devin 在验证工作结果时会查找这些名称。自定义 shell Profile 更改未应用
自定义 shell Profile 更改未应用
如果你的经典设置修改了
~/.bashrc、~/.profile 或其他 shell 配置,请将这些内容移到 initialize 中:Git pull 无法使用
Git pull 无法使用
Blueprints 会在构建期间自动处理 git clone。如果 repos 没有被克隆,请检查它们是否已添加到 环境配置 页面,并确认 Devin 已通过你的 Git integration 获得访问权限。
