メインコンテンツへスキップ
Cloud TemplatesはDroid Computersに置き換えられました。Cloud Templatesは引き続きサポートされていますが、安定性のため切り替えを強くお勧めします。
クラウドテンプレートを使えば、「私のマシンでは動く」問題に悩まされることなく、どこでもコーディングできます。各テンプレートは事前設定済みの環境で、クラウド上で動作し、数秒で起動し、セットアップコマンドを実行するようにカスタマイズできます。

クラウドテンプレートを使う理由


インストールと使用方法

クラウドテンプレートは、クラウド上に存在する完全に設定された、オンデマンドの開発環境です。クラウドテンプレートは、ローカルで期待するのと同じツールと依存関係を提供するため、Factoryから直接コードのビルド、テスト、実行を行うことができます。
クラウドテンプレートを最大限活用するには、テンプレート作成時に環境変数とセットアップスクリプトを設定します。セットアップスクリプトは依存関係をインストールし、開発環境を自動的に準備するため、すべてのチームメンバーが同一のセットアップを利用できます。

システム要件

  • Factoryで有効化されたリポジトリ
  • クラウドテンプレートを作成するためのユーザーロール以上の権限
1

Cloud Templates 設定を開く

  1. Factoryで左サイドバーのSettingsアイコンをクリックします。
  2. Cloud Templatesを選択します。
2

新しいクラウドテンプレートを作成

  1. Create Templateをクリックします。
  2. 使用するリポジトリを入力します。
  3. テンプレートにわかりやすい名前(例: “frontend-template”)を付けます。
  4. (任意)テンプレート初期化時に実行するセットアップスクリプトを設定します。
  5. Createをクリックします。
Factory がリポジトリをクローンして環境を準備します。大規模なプロジェクトでは少し時間がかかる場合があります。
3

テンプレートの準備完了を確認

新しいテンプレートがステータス表示付きで一覧に表示されます。Readyと表示されたら、どのセッションからでも使用できます。

セッション内でクラウドテンプレートを起動する

1

セッションを開く、または開始する

通常どおり任意のFactoryセッションに参加します。
2

Cloud Machine に接続

  1. セッション開始ページでMachine Connectionボタンをクリックします。
  2. Remoteタブを選択します。
  3. 先ほど作成したテンプレートを選択します。
  4. Factoryがクラウドテンプレートをセッションに接続します。
Factoryのセッション設定UIでクラウドテンプレートを接続するフロー
3

接続を確認

右上のプロフィールドロップダウンの横に、緑色のインジケーターとリモート作業ディレクトリが表示されます。これでクラウドテンプレートに接続されています。

日常的な使用方法

CLIコマンドを実行

Terminalツールキットを使用して、次のようなコマンドを実行します:
npm run dev
pytest
git status
出力はチャットとログにライブでストリーミングされます。

ファイルを編集・保存

リポジトリのファイルを開き、変更して保存します。 ファイルはクラウドテンプレート上に保持され、準備ができたらアップストリームにコミットできます。

自動保存の制御

自動保存はデフォルトで無効です。ライブファイル同期を使用したい場合は、Session Settingsパネルから有効にします。

セットアップスクリプト

セットアップスクリプトは、Factory がテンプレート作成時に実行するシェルスクリプトです。リポジトリがクローンされた後、テンプレートがアクティブ化される前に実行されます。この機能を使うと、テンプレートをセットアップし、Droid がコードベースで作業するために必要なツールを用意できます。

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

  1. テンプレート作成モーダルの「Setup Script (Optional)」セクションに初期化スクリプトを追加します。必要なコマンドをすべて含む複数行の bash スクリプトを記述できます。
  2. 作成を実行します。スクリプトは入力したとおりにリポジトリルートで実行されます。厳密なエラーハンドリングが必要な場合は、スクリプトの先頭に set -euo pipefail を追加してください。スクリプトが失敗するとビルドは停止します。
  3. スクリプトは非対話的で冪等性を保つようにしてください。安全に再実行できるコマンドを記述してください。
  4. 何か失敗した場合は、ビルドログを確認してスクリプト実行の詳細な出力を確認してください。
例: Node.js (Next.js):
PNPM monorepo:
Python:
多言語プロジェクト:
内部で何が起こるか:
  • スクリプトは、リポジトリのクローン後、ビルドコンテナ内のリポジトリルートで実行されます。
  • テンプレート設定で指定された環境変数は、スクリプト実行時に利用できます。
  • エラーは明確に表示され(例:Setup script failed: ...)、迅速な修正が可能です。

セットアップスクリプトのトラブルシューティングのヒント


ベストプラクティス

クラウドテンプレートを使用すると、一貫性のある本番環境対応の開発環境を数秒で立ち上げることができます。以下は、テンプレートを高速で予測可能、かつチームに優しく保つための実証済みのプラクティスです。

スマートセットアップスクリプトのプラクティス

ヒント: セットアップスクリプトをまずローカルでテストしましょう。スクリプトはリポジトリルートで bash で実行され、厳密なエラーハンドリングのために set -euo pipefail を追加できます。

スケールするワークフローパターン

リモートセッションは使い捨てとして扱います。チケットまたはPRごとに1つ作成し、マージ後にアーカイブします。 メリット: 完全な分離と「自分の環境では動く」ズレの解消。
複数のブランチをテストする必要がありますか?2つの別々のセッションを起動すれば、プロセスを終了せずにコンテキストを切り替えられます。

チームコラボレーションのヒント


トラブルシューティング

最もスムーズなクラウドテンプレートでも問題が発生することがあります。このセクションでは、最も一般的なクラウドテンプレートの問題に対する最も迅速な修正方法を説明します。

クイックリファレンス

ワークスペース作成の問題

診断
  • Gitの終了コード付きで*“clone failed”*エラートーストが表示される
  • プライベートリポジトリですか?OAuthスコープが不足していませんか?
解決
  1. リポジトリが有効化され、IntegrationsでConnectedと表示されていることを確認します
  2. 求められた場合はOAuthトークンを更新します

接続の問題

1

マシンセレクターを確認

セッションでCPUアイコンをクリックし、Cloud Machineが選択されていることを確認します。 Local Machineと表示される場合は、Cloud Machineに切り替えてテンプレートを選択します。
2

ブラウザとネットワーク

  • ChromeまたはEdgeを使用します(他のブラウザではWebSocketアップグレードがブロックされる場合があります)。
  • WebSocketフィルタリングを切り分けるため、VPN/プロキシを無効にします。
  • セッションタブを再読み込みします(⌘R / Ctrl-R)。

パフォーマンスと速度

一般的な使用上のトラブル

簡単なリビルドで問題の 80% は解決します。迷ったときは、ためらわず Rebuild をクリックしてください。