メインコンテンツへスキップ
セットアップスクリプトは、Factoryがテンプレート作成時に実行するシェルスクリプトです。リポジトリがクローンされた後、テンプレートがアクティブ化される前に実行されます。この機能を使用して、テンプレートをセットアップし、droidがあなたのコードベースで作業するためのツールを提供してください。

1. セットアップスクリプトの定義方法

  1. テンプレート作成のモーダルで、「Setup Script (Optional)」セクションに初期化スクリプトを追加します。必要なコマンドをすべて含む複数行のbashスクリプトを記述できます。
  2. 送信します。スクリプトは提供された通りにリポジトリルートで実行されます。厳密なエラーハンドリングが必要な場合は、スクリプトの先頭に set -euo pipefail を追加してください。スクリプトの失敗はビルドを停止します。
  3. スクリプトは非対話的で冪等性を保つようにしてください。安全に再実行できるコマンドを記述してください。
  4. 何か失敗した場合は、ビルドログを確認してスクリプト実行の詳細な出力を確認してください。
例: Node.js (Next.js):
#!/usr/bin/env bash
set -euo pipefail

npm ci
npm run build
PNPM monorepo:
#!/usr/bin/env bash
set -euo pipefail

pnpm -w i
pnpm -w build
Python:
#!/usr/bin/env bash
set -euo pipefail

pip install -r requirements.txt
pytest -q
多言語プロジェクト:
#!/usr/bin/env bash
set -euo pipefail

# Install Node.js dependencies
npm ci

# Install Python dependencies
pip install -r requirements.txt

# Run setup script
bash ./scripts/setup.sh
内部で何が起こるか:
  • スクリプトは、リポジトリのクローン後、ビルドコンテナ内のリポジトリルートで実行されます。
  • テンプレート設定で指定された環境変数は、スクリプト実行時に利用できます。
  • エラーは明確に表示され(例:Setup script failed: ...)、迅速な修正が可能です。

2. トラブルシューティングのヒント

問題修正方法
セットアップが「Setup script failed: …」で失敗するビルドログで具体的なエラーメッセージを確認してください。ローカルでスクリプトを実行してデバッグし、エラーハンドリングを追加し、非対話的フラグ(例:-y)を使用してから、再試行してください。
Command not foundスクリプトの早い段階で必要なツールをインストールするか、ベースUbuntuイメージで利用可能であることを確認してください。
Permission denied (scripts)スクリプトを実行可能にする(chmod +x ./scripts/setup.sh)か、インタープリター経由で呼び出してください(bash ./scripts/setup.sh)。
環境変数が見つからないEnvironment Variablesセクションで追加し、$VAR として参照してください。スクリプト内でシークレットをechoすることは避けてください。
長いビルドスクリプトは最小限に保ってください。npm install より npm ci のようなキャッシュされたインストールを優先し、重い非必須作業は避けてください。
パス/ファイルが見つからないスクリプトはリポジトリルートで実行されます。相対パスとクローン後にファイルが存在することを確認してください。