どちらも重要な業務から実験的な作業を分離するために存在する、関連性の高い仕組みです。
スクラッチプロジェクト
スクラッチプロジェクトとは、後で破棄することを前提とした通常のプロジェクトです。見慣れないコードベースでCoroidを試す場合や、大規模に適用する前にポリシー変更をテストする場合、あるいは確定させるつもりのないアプローチを探る場合に利用します。
その価値は「分離」にあります。スクラッチプロジェクト内での実験が、チームが依存するプロジェクトのタスク履歴や指標、コンテキストを汚染することはありません。
不要になったら削除してください。6ヶ月以上存続するスクラッチプロジェクトは、実質的に本格的なプロジェクトへと変化しており、それに伴う設定上の配慮が欠如している可能性があります。
プレビュー環境
プレビューとは、タスクで生成されたブランチから構築され、実際に動作する変更後のアプリケーションのことです。
これは重要です。なぜなら、差分を確認するだけでは判断できない事柄が存在するからです。ページが正しくレンダリングされるか、フローがエンドツーエンドで正常に動作するか、変更内容が意図通りに見えるかなどは、実際に動作させて確認する必要があります。
プレビューはブラウザテストの対象となり、スクリーンショットだけでは判断がつかない場合にレビュアーが開くものでもあります。
タスクの変更内容をプレビューする
ファクトリーで、レビュー待ちのタスクを開きます。「変更内容」の下にあるプレビューウィンドウで、ワンクリックでタスクのブランチを起動できます。
開始ワンクリック
coroid/landing-hero60分後に停止ビルド作成起動中
coroid/landing-heroプレビューを起動しています…実際にご利用ください準備完了
a1b2c3d4-….preview.coroid.ai残り58分
Coroidのサンドボックス内で構築されるか、Vercelを連携して直接デプロイする場合はVercelが処理します。ローカルのリポジトリでは常にCoroidのサンドボックスが使用されます。
- 起動中:ブランチの依存関係がインストールされ、アプリケーションが起動します。初回実行には数分かかる場合があります。
- 準備完了:ウィンドウ内に動作中のアプリケーションが表示されます。開くをクリックすると新しいタブで表示され、ウィンドウにはプレビューの残り時間が表示されます。
- 停止で早期に終了させます。Coroidで実行されるプレビューは、1時間後に自動的に停止します。
ビルドに失敗した場合、再試行で再度起動し、ログを表示で何が問題だったかを確認できます。ウェブページが開けないバックエンドやライブラリの変更の場合は、ブラウザで表示できる内容なしというメッセージがボタンの代わりに表示されます。
既に起動中または実行中のプレビューを開始しようとすると、同じプレビューが開かれるため、2人のレビュアーが2つのコピーを起動することはありません。
プレビューが実行される場所
プレビューが実行される場所は選択できません:
- Coroidサンドボックス:デフォルトの設定です。Coroidがタスクのブランチを隔離されたコンテナ内でビルドし、秘密情報は一切渡されません。pull requestやプッシュ操作も不要なため、Coroid内に留まるリポジトリでも利用可能です。
- Vercel:プロジェクトに直接デプロイするためのVercelが接続されている場合(プロジェクト設定 →インテグレーション → レビュー証拠)、Vercelがブランチをビルドし、Vercelのプレビューアドレスで配信します。Vercel独自のデプロイ保護が適用されるため、プレビューはウィンドウ内ではなく新しいタブで開かれます。
ローカルのみモードのリポジトリはCoroidを離れることなく、常にCoroidサンドボックスでプレビューされます。
プレビューアドレスは長くて推測が難しいですが、アドレスを知っている人なら実行中のプレビューを開くことができます。未公開の作業へのリンクと同様に扱ってください。
pull requestへのプレビュー表示方法
pull requestのCoroidでタスク用に開かれるリンクはプレビューへ繋がります:Coroidでこの変更をプレビューをクリックするとタスクのレビュー画面が開き、プレビューが開始されます。このリンクを利用するにはCoroidへのログインが必要で、プレビューアドレス自体はプルリクエストに掲載されません。
すでにホスティングプロバイダーのGitアプリやCIからプレビューデプロイメントを利用している場合でも、Coroidはそれらを関連付けます。レビュー証拠そのため、リンクは変更内容の隣に表示され、別途検索する必要がありません。
要点は、検証証拠とそれが検証するコードが一緒に提供されるべきだということです。
いつどちらを利用するか
- Coroidや、将来的に破棄する可能性のあるアプローチを試す場合 →スクラッチプロジェクト
- 特定の変更が正しく動作するかを確認する場合 →プレビュー
両者は組み合わせて利用可能です。スクラッチプロジェクトにも他のプロジェクトと同様にプレビューを設定できます。