跳转到主要内容
**前提条件:**本指南默认你已熟悉声明式环境配置。入门介绍请参阅声明式环境配置
配置环境之前,请先确保已连接你的 SCM 提供商 (Enterprise Settings > Integrations) ,并且已为每个组织授予其仓库访问权限 (Enterprise Settings > Repository Permissions) 。在明确授予访问权限之前,各组织无法将 repo 添加到其环境中。详情请参阅 Git Integrations
Enterprise admins 可以定义一个适用于 Enterprise 内每个组织的基础环境。这样,你就能集中管理 Devin 使用的工具、运行时和安全基础架构,同时仍允许各个 org 和 repo 在此基础上进行自定义配置。

蓝图层级

Devin 的环境配置采用三级层级结构,下一层级基于上一层级构建:
+-----------------------------------------+
|  Enterprise Blueprint                   |
|  Python 3.12, Node 20, security tools   |
+-----------------------------------------+
|  Organization Blueprint                 |
|  private npm registry, team linting     |
+-----------------------------------------+
|  Repository Blueprint                   |
|  npm install, project-specific config   |
+-----------------------------------------+
TierWho manages itScope
企业版企业管理员所有组织和所有仓库
组织组织管理员该组织中的所有仓库
仓库组织管理员或仓库配置单个仓库
这种关系是叠加式的:组织和仓库蓝图是在企业蓝图的基础上继续构建的,而不是替代它。每次构建时,都会先运行企业蓝图,以建立基线环境。接着运行组织蓝图,添加团队特定的配置。最后,再运行各个仓库的蓝图,完成项目特定的设置。 有关组织蓝图和仓库蓝图之间关系的说明,请参阅 蓝图作用域

配置企业蓝图

前往 设置 > Devin 的基础环境,定义企业蓝图。其格式与 org 和 repo 蓝图相同,包含 initializemaintenanceknowledge 三个部分。 在每次构建期间,企业蓝图都会最先运行,先于 org 和 repo 蓝图。这意味着在企业级安装的工具和运行时可供所有下游蓝图使用。

企业蓝图中应包含的内容

企业蓝图适用于每个组织都需要的工具和配置。常见用例:

标准语言运行时

在整个企业范围内统一固定语言版本,确保每个团队都使用相同的工具链:
initialize:
  - name: "Install Python 3.12"
    uses: github.com/actions/setup-python@v5
    with:
      python-version: "3.12"

  - name: "Install Node.js 20"
    uses: github.com/actions/setup-node@v4
    with:
      node-version: "20"

  - name: "Install Go 1.22"
    uses: github.com/actions/setup-go@v5
    with:
      go-version: "1.22"

安全工具与合规扫描

安装各项目都必须使用的扫描和审计工具:
initialize:
  - name: "Install security tools"
    run: |
      npm install -g snyk
      pip install safety bandit
      curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh

内部 CLI 工具和实用程序

将公司专用工具分发到各个环境中:
initialize:
  - name: "Install internal CLI"
    run: |
      curl -L https://internal.example.com/cli/latest/linux-amd64 \
        -o /usr/local/bin/internal-cli
      chmod +x /usr/local/bin/internal-cli

共享软件包仓库配置

将软件包管理器配置为使用你的内部仓库:
initialize:
  - name: "Configure internal registries"
    run: |
      npm config set registry https://npm.internal.example.com/
      pip config set global.index-url https://pypi.internal.example.com/simple/

企业代理与证书设置

安装企业 CA 证书并配置代理设置:
initialize:
  - name: "Install corporate certificates"
    run: |
      cp "$FILE_CORPORATE_CA_CERT" /usr/local/share/ca-certificates/corporate-ca.crt
      update-ca-certificates
      echo 'export NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/corporate-ca.crt' >> ~/.bashrc

各层级如何协同

在构建过程中,每个层级的步骤都会按固定顺序执行。较前层级的输出可供后续层级使用。在企业级安装的工具无需重新安装,即可直接在组织和仓库蓝图中使用。 一次构建会按以下顺序创建新的快照:
1. Enterprise blueprint (runs in ~):
   a. initialize
   b. maintenance
2. Organization blueprint (runs in ~):
   a. initialize
   b. maintenance
3. Clone all repositories (up to 10 concurrent)
4. For each configured repo, in the order shown in Settings
   (runs in ~/repos/<repo-name>):
   a. initialize
   b. maintenance
5. Health check, then snapshot is saved
各层级是叠加生效的:仓库蓝图可以使用由组织或企业蓝图安装的工具。较低层级不能覆盖较高层级已设置的内容。构建通常需要 5–15 分钟。单个命令会在 1 小时后超时。 所有层级中的 knowledge 条目都会被汇总并提供给 Devin。如果多个层级定义了同名的 knowledge 条目,它们都会一并包含在内。它们不会相互覆盖。

企业级 secrets

企业管理员可以在企业级定义 secrets。这些 secrets 会在每一次构建和每一次会话期间,作为环境变量在所有组织中可用,包括企业级、org 级和 repo 蓝图步骤。 对于整个公司范围内共享的凭据,请使用企业级 secrets:
  • 内部软件包仓库令牌
  • 企业代理身份验证
  • 内部服务共用的 API key
  • 企业工具的许可证密钥
企业级 secrets 在 Enterprise-wide setup 页面中管理,也就是配置企业蓝图的同一页面。前往 设置 > Devin 的基础环境,即可在同一处管理蓝图和 secrets。
管理企业级 secrets 需要 ManageAccountResources 权限。
如果某个 org secret 与企业级 secret 同名,则 org secret 优先生效。这样各个组织就可以在需要时覆盖企业级默认设置。

企业范围内重建

企业管理员可以触发一次重建,并将其级联到所有组织。这在以下情况下很有用:
  • 你更新了企业蓝图 (例如,将 Python 从 3.11 升级到 3.12)
  • 你轮换了企业密钥
  • 你需要在安全补丁后刷新所有环境
设置 > Devin 的基础环境 中触发企业范围内重建。每个组织的构建都会使用更新后的企业蓝图运行,随后再应用其各自的组织蓝图和仓库蓝图。
企业范围内重建会遵循每个组织各自的构建队列。如果某个组织已经有构建正在进行中,由企业触发的重建会排在其后。如果某个构建已经在队列中,它会被取消 并由企业触发的重建替代。

跨组织管理 rollout

企业管理员可控制哪些组织使用声明式配置,哪些组织继续使用经典环境设置。Rollout 页面可帮助你查看所有组织的采用状态,并逐步迁移各个组织。 有关 rollout 状态、按组织覆盖以及分阶段迁移 playbook 的详细说明,请参阅迁移你的企业