Skip to main content
宣言的設定 (ブループリント) は、次世代の環境セットアップ方式です。バージョン管理でき、組み合わせて使え、自動で更新されます。このガイドでは、従来の対話型ウィザードから移行する手順を説明します。

移行する理由

従来のセットアップウィザードでは、Devin の環境は手動で構成されたスナップショットであるため、時間の経過とともに実態とずれていく可能性があります。依存関係は古くなり、設定を変更するたびにウィザードを再実行する必要があり、バージョン履歴も残りません。こうした課題は、宣言的設定で解決できます。
  • 自動更新: リポジトリ が変更されると ブループリント が再ビルドされるため、依存関係を最新の状態に保てます
  • バージョン管理: 環境構成をコードと一緒に管理でき、完全な変更履歴を残せます
  • 組み合わせ可能: Enterprise、org、repo の ブループリント をきれいに重ねて適用できます
  • 再現可能: 同じ ブループリント からは、どの build でも同じ結果が得られます
  • より高速なセッション: リポジトリ のクローンや依存関係のインストールが済んだスナップショットが事前に build されるため、セッション開始後すぐに作業に入れます
準備ができたら、宣言的な構成への移行を推奨します。それまでの間も、従来のセットアップは引き続き利用できます。

始める前に

Machine Configuration ページ (従来の設定ページ) に、“Switch to Devin’s new v2 environment” と表示されたバナーがあるか確認してください。表示されていれば、その組織は対象です。バナーが表示されない場合は、その組織ではまだ宣言的設定が有効になっていません。段階的にロールアウトされています。Enterprise 管理者に連絡するか、サポートにお問い合わせください。
移行には 組織管理者 権限 (ManageOrgSettings) が必要です。組織管理者でない場合、移行ページに「管理者アクセスが必要です」というメッセージが表示されます。
はい。既存のスナップショットは完全に保持されます。いつでも元に戻すことができ、組織はすぐに以前のスナップショットに切り替わります。失われるものはありません。

移行手順

1. 移行ページに移動する

Settings > Environment migration に移動するか、Machine Configuration ページに表示されているバナーの Get started をクリックします。

2. 宣言的な設定を有効にする

組織で有効にする をクリックします。これにより、組織では新しいセッションにブループリントベースのスナップショットが使用されるようになります。
既存のスナップショットには影響しません。元に戻す必要が生じた場合に備えて保持されます。

3. Devin にブループリントを生成させる

作業は Devin が代行します。 Start migration をクリックし、最初に移行するリポジトリを選択します。すべてを一度に移行する必要はありません。最もよく使うリポジトリから始めてください。 移行を開始すると、Devin は 2 つのセッション を作成します。
  • ブループリントを作成する、新しい宣言的環境上で動作するメイン セッション
  • 現在インストールされているもの (言語のバージョン、システムパッケージ、実行中のサービスなど) を確認するために Devin が利用する、既存のスナップショット上で動作するヘルパー セッション
Devin は既存のスナップショットを調べ、どのツールや依存関係がインストールされているかを把握したうえで、対応するブループリント構成を生成します。結果は Environment configuration ページに表示されます。
既存のスナップショットは、これまでに構成してきたあらゆるものが詰まった「ブラック ボックス」です。Devin はそのスナップショットを調査し、インストールされているものを整理して、自動的に再現可能なブループリントとして書き出します。

4. 確認して調整する

Devinがブループリントを生成したら、次の作業を行います。
  1. Settings > Environment configuration に移動し、生成された内容を確認します
  2. ビルドのステータスを確認します。Success と表示されていることを確認してください。
  3. テスト用のセッションを開始して、すべてが正しく動作することを確認します:
    • リポジトリがクローンされ、依存関係がインストールされていることを確認します
    • lint、test、build コマンドを実行してみます
    • カスタムツールやランタイムが利用可能であることを確認します
不足しているものがあれば、ブループリントを直接編集してください。initialize ステップ、maintenance コマンド、または Knowledge エントリを追加できます。

ロールバック

問題が発生した場合は、いつでも元に戻せます。
  1. Settings > Environment migration に移動します
  2. Revert to classic setup をクリックします
  3. 組織はすぐに以前のスナップショットを使用する状態に戻ります
既存のスナップショットはそのまま完全に保持されます。失われるものはありません。準備ができたらいつでも、再度移行を試せます。

従来のセットアップ手順とブループリントの対応

ブループリントを手動で記述したい場合 (またはその対応関係を把握したい場合) 、従来のウィザードの各手順は次のように対応します。
従来のセットアップ手順ブループリントでの対応注記
Git pull自動ブループリントが git clone と pull を自動的に処理します
SecretsUI の Secrets パネルSettings > Environment configuration で設定します
依存関係のインストールinitialize1回限りのセットアップ: 言語ランタイム、システムパッケージ、グローバルツール
依存関係の維持管理maintenanceセッションごとに繰り返し行うセットアップ: npm installpip install など
Lintknowledge (name: lint)参照用のみで、ビルド時には実行されません
Testknowledge (name: test)参照用のみで、ビルド時には実行されません
アプリの実行knowledge (name: dev-server)参照用のみで、ビルド時には実行されません
補足事項knowledgeDevin 向けの自由記述エントリ

従来のセットアップ:
  • 依存関係をインストール: nvm use 20 && npm install
  • 依存関係を更新: npm install
  • Lint を実行: npm run lint
  • テストを実行: npm test
  • アプリを起動: npm run dev
対応するブループリント:
initialize: |
  curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  source ~/.bashrc
  nvm install 20

maintenance: |
  npm install

knowledge:
  - name: lint
    contents: npm run lint
  - name: test
    contents: npm test
  - name: dev-server
    contents: npm run dev

トラブルシューティング

具体的なエラーはビルドログを確認してください。主な原因は次のとおりです。
  • 従来のセットアップ用ターミナルでは動作していたコマンドが、ビルド環境では動作しない (例:-y フラグが必要な対話型プロンプト)
  • シークレットが不足している (ブループリント editor の secrets パネルでシークレットが設定されていることを確認してください)
  • ブループリント のコマンドと元のコマンドを比較して、違いを確認する
maintenance セクションに、従来の Maintain Dependencies ステップと同じ依存関係のインストールコマンドが含まれていることを確認してください。npm installpip install -r requirements.txt のようなコマンドは initialize ではなく maintenance に記述する必要があります。
knowledge セクションに、正しいコマンドを持つ linttest という名前のアイテムがあることを確認してください。Devin は作業内容を検証する際にこれらの名前を参照します。
従来のセットアップで ~/.bashrc~/.profile、またはその他のシェル設定を変更していた場合は、それらを initialize に移してください。
initialize: |
  echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
  echo 'export NODE_ENV=development' >> ~/.bashrc
Blueprints はビルド中に git clone を自動的に実行します。リポジトリ が clone されない場合は、それらが Environment configuration ページに追加されていることと、Devin が Git 統合を通じてアクセスできることを確認してください。