はじめに
前提条件: 環境を設定する前に、Devin があなたのリポジトリにアクセスできる必要があります。Git 統合がまだ設定されていない場合は、設定手順について 開始前に を参照してください。Enterprise ユーザーは、Enterprise Settings > Repository Permissions で各 org に対応するリポジトリへのアクセスも付与する必要があります。
まだクラシック構成を利用していますか? 宣言的構成にはいつでも移行できます。移行作業の大半は Devin に任せられます。宣言的構成への移行
を参照してください。
- Devin に任せる(推奨)
- 手動セットアップ
ほとんどのユーザーに最適です。Devin がプロジェクトを分析し、必要なツールや依存関係を判断して、ブループリントを生成します。あとは内容を確認して承認するだけです。
仕組み
| Concept | What it is | Analogy |
|---|---|---|
| Blueprint | インストールする内容と Devin の環境の設定方法を記述した YAML 構成ファイル | Dockerfile |
| ビルド | ブループリント を実行し、repo をクローンして、スナップショット を生成するプロセス | docker build |
| Snapshot | セッションの起動元となる、固定された起動可能な環境イメージ | Docker image |
Blueprint のセクション
| セクション | 目的 | 実行されるタイミング |
|---|---|---|
initialize | ツール、ランタイム、システムパッケージをインストール | ビルド時のみ。結果はスナップショットに保存されます。 |
maintenance | プロジェクトの依存関係をインストール/更新し、認証情報の設定を書き込む | ビルド時 + 毎回のセッション開始時 |
knowledge | Devin 向けの参照情報 (lint、test、build コマンド) | 実行されません。セッション開始時に Devin の前提情報に読み込まれます。 |
initialize は、一度だけ実行すればよい処理のためのセクションです。たとえば、言語ランタイム、システムパッケージ、グローバル CLI ツールなどです。
maintenance は、常に最新の状態に保つ必要がある依存関係のインストール向けです。ビルド時に実行され、さらに最新コードを pull した後のセッション開始時にも再度実行されるため、コマンドは高速で増分的なものにしてください (npm ci ではなく npm install を利用する) 。
knowledge は参照情報であり、実行はされません。ここで、lint、test、build の正しいコマンドを Devin に伝えます。項目は簡潔に保ち、実行可能なコマンドに絞ってください。
ここでの Knowledge と Knowledge プロダクト機能の違い: blueprint 内の
knowledge セクションは、環境に紐づいた短いコマンド参照のためのものです。アーキテクチャドキュメント、慣例、チームの
ワークフローには、代わりに独立した Knowledge 機能を利用してください。ブループリント の適用範囲
| Level | Where to configure | What to put here |
|---|---|---|
| 組織 | Settings > Environment configuration > Org-wide setup | すべてのリポジトリで共有するツール: 言語ランタイム、パッケージマネージャー、Docker 認証 |
| リポジトリ | Settings > Environment configuration > [repo name] | プロジェクト固有のセットアップ: npm install、lint/test/build コマンド |
maintenance では、組織の initialize でインストールされたツールを利用できます。特定のツールが 1 つのリポジトリでのみ必要な場合は、そのリポジトリの ブループリント に追加してください。すべてのリポジトリで必要な場合は、組織の ブループリント に追加してください。
Enterprise ユーザー: 3 つ目の階層として、すべての組織に適用される Enterprise ブループリント があります。詳しくは Enterprise environment overview を参照してください。
ビルドとセッション
スナップショット
ビルドの仕組み
セッションの仕組み
- Enterprise と組織全体の
maintenanceが~で実行されます。 - 対象のリポジトリの最新コードが取得されます。
- 前回のビルド以降の依存関係の変更を反映するため、そのリポジトリの
maintenanceが再度実行されます。 - そのリポジトリの
knowledgeエントリが Devin の前提情報に読み込まれます。
Knowledge はリポジトリ単位です。 5 つのリポジトリを設定している場合、Devin が参照できるのは現在作業中のリポジトリの Knowledge エントリだけです。
ビルドがトリガーされる条件
| トリガー | 説明 |
|---|---|
| ブループリントの保存 | ブループリントの作成、更新、または削除 |
| リポジトリの追加または削除 | リポジトリ一覧への変更 |
| リポジトリシークレットの追加 | 新しいシークレットを利用できるようにするには再ビルドが必要 |
| 手動でのトリガー | UI で Build または Rebuild をクリック |
| 定期的な更新 | 自動。おおむね 24 時間ごと |
| Devin からの提案 | Devin がセッション中にブループリントの変更を提案 |
ビルドステータス
| ステータス | 意味 |
|---|---|
| 成功 | すべてのステップが完了しました。スナップショットの準備ができています。 |
| 部分的 | リポジトリ単位の一部のステップは失敗しましたが、スナップショットは利用可能です。成功したリポジトリは通常どおり動作し、失敗したリポジトリではブループリントの修正が必要です。 |
| 失敗 | 重大な障害です (org または Enterprise のセットアップに失敗しました) 。スナップショットは利用できません。 |
| キャンセル済み | より新しいビルドに置き換えられたか、手動でキャンセルされました。 |
環境の管理
リポジトリの状態
| State | Meaning |
|---|---|
| Configured | initialize/maintenance/knowledge を含む ブループリント があります。スナップショット 内で完全にセットアップされています。 |
| Included | スナップショット にクローンされていますが、カスタム ブループリント はありません。Devin はコードにアクセスできます。 |
| Available | org には接続されていますが、Environment には追加されていません。クローンもされていません。 |
シークレット
$VARIABLE_NAME 構文でシークレットを参照します。追加するには、設定 > シークレット を開きます。
initialize 中にコマンドがシークレットの値を設定ファイルに書き込んだ場合、その値はスナップショットに残ります。認証情報は必ず maintenance 中に書き込んでください。
シークレットのスコープと挙動の詳細については、ブループリント reference を参照してください.
複数のリポジトリ
~/.bashrc など) を変更したりすると、最後に実行されたものが反映されます。競合を避けるには、共有ツールのインストールを org-wide ブループリントにまとめてください。
モノレポ
(cd ... && ...) はサブシェル内で実行されるため、次のステップでは作業ディレクトリが元に戻ります。
ピン留めと自動更新
success または partial で、7 日以内のもの) を見つけて、Pin をクリックします。ピン留め中は定期的な更新がスキップされ、UI には Auto-updates paused と表示されます。
ピン留めを解除するには: Resume auto-updates をクリックします。Devin は最新の成功したビルドに切り替わります。
Gitベースのブループリント
Gitベースのブループリントは現在サポートされていません。この機能は近日提供予定です。今後は、ブループリントをリポジトリに保存し、変更時にビルドが自動的にトリガーされるようになります。現時点では、
UI でブループリントを設定してください。
ビルドのトラブルシューティング
Initialize ステップが失敗しました
initialize を更新して保存してください。新しいビルドが自動的にトリガーされます。
リポジトリのクローンに失敗しました
メンテナンス手順が失敗しました
maintenance または initialize を更新して不足している依存関係をインストールするか、リポジトリ内のロックファイルを修正してください。
ビルドのタイムアウト
修正を繰り返す
- ビルドログを確認して失敗の原因を特定する
- 該当するブループリントを更新する
- 保存する (新しいビルドが自動的にトリガーされます)
- 新しいビルドのログを確認する
- ビルドが成功するまで繰り返す
失敗したビルドの完了を待つ必要はありません。新しい設定を保存すると、キューに入っているビルドはキャンセルされ、新しいビルドが最初から開始されます。
次のステップ
ブループリントリファレンス
完全なフィールドリファレンス:ステップの種類、GitHub Actions、環境変数、シークレット、ファイル添付。
テンプレートライブラリ
Python、Node.js、Go、Java、Ruby、Rust、高度なパターン向けの、コピーしてすぐ使えるブループリント。
従来のセットアップからの移行
対話型ウィザードから宣言的なブループリントへ移行するための手順ガイド。
Enterprise環境管理
Enterprise全体の環境管理:3層階層、シークレット、組織横断の設定。
