> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Enterprise 環境の概要

> Enterprise 全体にわたる環境管理: blueprint 階層、Enterprise blueprint の設定、シークレット、Enterprise 全体の再ビルド。

<Info>
  **前提条件:** このガイドは、宣言的な環境構成に関する知識があることを前提としています。概要については、[宣言的な環境構成](/ja/onboard-devin/environment/blueprints)を参照してください。
</Info>

<Warning>
  **環境を構成する前に**、SCM プロバイダーが接続済みであること (**Enterprise Settings > Integrations**) 、および各組織に対象リポジトリへのアクセス権が付与されていること (**Enterprise Settings > Repository Permissions**) を確認してください。組織は、明示的にアクセス権が付与されるまで、環境にリポジトリを追加できません。詳しくは、[Git Integrations](/ja/enterprise/integrations/git-integrations)を参照してください。
</Warning>

Enterprise 管理者は、Enterprise 内のすべての組織に適用される**ベース環境**を定義できます。これにより、各組織やリポジトリがその上に独自の設定を重ねてカスタマイズできるようにしつつ、Devin が利用するツール、ランタイム、セキュリティインフラストラクチャを一元的に管理できます。

<div id="the-blueprint-hierarchy">
  ## ブループリントの階層
</div>

Devinの環境設定は、3層の階層構造になっています。各層は、その上位の層を土台として構成されます。

```
+-----------------------------------------+
|  Enterprise Blueprint                   |
|  Python 3.12, Node 20, security tools   |
+-----------------------------------------+
|  Organization Blueprint                 |
|  private npm registry, team linting     |
+-----------------------------------------+
|  Repository Blueprint                   |
|  npm install, project-specific config   |
+-----------------------------------------+
```

| ティア              | Who manages it    | Scope            |
| ---------------- | ----------------- | ---------------- |
| **Enterprise**   | Enterprise 管理者    | すべての組織、すべてのリポジトリ |
| **Organization** | org 管理者           | 組織内のすべてのリポジトリ    |
| **Repository**   | org 管理者またはリポジトリ設定 | 単一のリポジトリ         |

この関係は**累積的**です。org およびリポジトリのブループリントは Enterprise ブループリントの上に積み重なる形で適用され、置き換えるものではありません。ビルドのたびに、まず Enterprise ブループリントが実行され、ベースラインが確立されます。次にorg のブループリントが実行され、チーム固有の設定が追加されます。最後に、各リポジトリのブループリントが実行され、プロジェクト固有のセットアップが適用されます。

org およびリポジトリのブループリントの関係については、[Blueprint のスコープ](/ja/onboard-devin/environment/blueprints#blueprint-scope)を参照してください。

<div id="configuring-the-enterprise-blueprint">
  ## Enterprise ブループリントの設定
</div>

Enterprise ブループリントを定義するには、**Settings > Devin's base environment** に移動します。形式は org および repo のブループリントと同じで、`initialize`、`maintenance`、`knowledge` の各セクションで構成されます。Enterprise および org ブループリントは、すべてのリポジトリのクローンとセットアップが完了した後に実行されるコマンド用の [`post-build`](/ja/onboard-devin/environment/blueprint-reference#post-build) セクションにも対応しています。

Enterprise ブループリントは、org および repo のブループリントより前に、すべてのビルド で**最初に**実行されます。つまり、Enterprise レベルでインストールされたツールやランタイムは、後続のすべてのブループリントで利用できます。

<div id="what-to-put-in-the-enterprise-blueprint">
  ## Enterprise ブループリントに含めるもの
</div>

Enterprise ブループリントには、**すべての組織**で必要となるツールや設定を含めます。一般的な利用例は次のとおりです。

<div id="standard-language-runtimes">
  ### 標準的な言語ランタイム
</div>

Enterprise 全体で言語のバージョンを固定し、すべてのチームが同じツールチェーンで作業できるようにします:

```yaml theme={null}
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"
```

<div id="security-tools-and-compliance-scanning">
  ### セキュリティツールとコンプライアンススキャン
</div>

すべてのプロジェクトで利用が必須のスキャナーと監査ツールをインストールします：

```yaml theme={null}
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
```

<div id="internal-cli-tools-and-utilities">
  ### 社内向けCLIツールとユーティリティ
</div>

社内専用のツールをすべての環境に配布します:

```yaml theme={null}
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
```

<div id="shared-package-registry-configuration">
  ### 共有パッケージレジストリ設定
</div>

パッケージマネージャーが社内レジストリを参照するよう設定します。

```yaml theme={null}
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/
```

<div id="corporate-proxy-and-certificate-setup">
  ### 社内プロキシと証明書の設定
</div>

社内CA証明書をインストールし、プロキシ設定を行います。

```yaml theme={null}
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
```

<div id="how-tiers-interact">
  ## ティアの連携
</div>

ビルド中は、各ティアのステップが決まった順序で実行されます。前のティアの出力は後のティアで利用できます。Enterprise レベルでインストールされたツールは、再インストールしなくても org や repo のブループリントですぐに利用できます。

ビルドでは、次の順序で新しいスナップショットが作成されます。

```
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. post-build (org- and enterprise-level; runs in ~)
6. ヘルスチェック後、スナップショットを保存
```

`post-build` ステップは、すべての repo のクローンとセットアップが完了した後に実行されるため、完全に構成された環境を検証できます。`post-build` ステップがゼロ以外の終了コードを返すと、ビルドは失敗し、スナップショットは生成されません。詳しくは、Blueprintリファレンスの [`post-build`](/ja/onboard-devin/environment/blueprint-reference#post-build) を参照してください。

ティアは**累積的**です。repo ブループリントでは、org または enterprise ブループリントにインストールされたツールを利用できます。下位のティアで上位のティアが設定した内容を上書きすることはできません。ビルドには通常 5～15 分かかります。各コマンドは 1 時間でタイムアウトします。

すべてのティアの`knowledge`アイテムが収集され、Devin で利用できるようになります。複数のティアで同じ名前の knowledge アイテムが定義されている場合は、それらがすべて含まれます。互いに上書きされることはありません。

<div id="enterprise-secrets">
  ## Enterprise シークレット
</div>

Enterprise 管理者は、Enterprise レベルでシークレットを定義できます。これらのシークレットは、Enterprise、org、repo のブループリントステップを問わず、**すべて**の組織にわたる**すべて**のビルドと**すべて**のセッションで、環境変数として利用できます。

Enterprise シークレットは、会社全体で共有する認証情報に使用してください。

* 社内パッケージレジストリのトークン
* 社内プロキシ認証
* 社内サービス用の共有 APIキー
* Enterprise 向けツールのライセンスキー

Enterprise シークレットは、Enterprise ブループリントエディタ内の **Secrets** タブで管理します。ブループリント設定とあわせて Enterprise 全体のシークレットを管理するには、**Settings > Devin's base environment** に移動し、**Secrets** タブに切り替えてください。

<Info>Enterprise シークレットの管理には、**ManageAccountResources** 権限が必要です。</Info>

<Warning>org のシークレットが Enterprise シークレットと同じ名前の場合は、org のシークレットが優先されます。これにより、必要に応じて各組織で Enterprise 全体のデフォルトを上書きできます。</Warning>

<div id="enterprise-wide-rebuilds">
  ## Enterprise全体の再ビルド
</div>

Enterprise管理者は、**すべての組織**に対して連鎖的に適用される再ビルドをトリガーできます。これは次のような場合に役立ちます。

* Enterpriseブループリントを更新した場合 (例: Python を 3.11 から 3.12 にアップグレード)
* Enterpriseシークレットをローテーションした場合
* セキュリティパッチ適用後にすべての環境を更新する必要がある場合

Enterprise全体の再ビルドは、**Settings > Devin's base environment** からトリガーします。各組織のビルドは、更新後のEnterpriseブループリントを使用して実行され、その後に各組織固有のorgブループリントとrepoブループリントが続きます。

<Info>
  Enterprise全体の再ビルドでは、各orgのビルドキューが尊重されます。あるorgですでにビルドが進行中の場合、Enterpriseによってトリガーされた再ビルドはその後ろにキューされます。すでにビルドがキューされている場合は、それはキャンセルされ、
  Enterpriseによってトリガーされたものに置き換えられます。
</Info>

<div id="managing-rollout-across-organizations">
  ## 複数の組織にまたがるロールアウトの管理
</div>

Enterprise管理者は、どの組織で宣言的構成を利用し、どの組織で従来の環境セットアップを利用するかを管理します。**Rollout** ページでは、すべてのorgにおける導入状況を確認でき、組織を段階的に移行できます。

ロールアウトの状態、組織ごとの上書き設定、段階的な移行プレイブックの詳細については、[Enterpriseの移行](/ja/enterprise/environment-management/rollout)を参照してください。

<div id="related-pages">
  ## 関連ページ
</div>

* [Enterpriseの移行](/ja/enterprise/environment-management/rollout)
* [ベストプラクティス](/ja/enterprise/environment-management/best-practices)
* [Blueprintリファレンス](/ja/onboard-devin/environment/blueprint-reference)
* [宣言的環境構成](/ja/onboard-devin/environment/blueprints)
