メインコンテンツへスキップ
App Deploys を使うと、Cascade のツール呼び出しを通じて、Devin Desktop 内から Web アプリケーションやサイトを直接デプロイできます。この機能により、公開 URL で成果物を共有したり、デプロイを更新したり、さらにカスタマイズするためにプロジェクトを引き取ったりできます。現在はベータ版で、今後は追加のフレームワーク対応や、より堅牢なビルド機能などを順次提供予定です。

概要

App Deploys を使用すると、次のことができます。
  • Web サイトまたは JS Web アプリを公開ドメインにデプロイする
  • 変更後に同じ URL へ再デプロイする
  • プロジェクトを個人アカウントに引き取る
App Deploys は主にプレビュー用途を想定しています。機密データを扱う本番 アプリケーションでは、デプロイを自分のアカウントに引き取ったうえで、 セキュリティのベストプラクティスに従うことを推奨します。

対応プロバイダー

現在、以下のデプロイプロバイダーに対応しています。
  • Netlify - 静的サイトおよびWebアプリケーション向け
追加のプロバイダーへの対応は、今後のリリースで予定されています。

仕組み

App Deploysを利用すると、コードは当社のサーバーにアップロードされ、当社の管理下にあるアカウントを通じてプロバイダーにデプロイされます。デプロイされたサイトは、次の形式の公開URLで利用できるようになります。

デプロイの流れ

  1. Cascade がプロジェクトを解析し、適切なフレームワークを特定します
  2. プロジェクトファイルは安全に当社のサーバーにアップロードされます
  3. プロバイダーのプラットフォーム上にデプロイが作成されます
  4. 公開 URL とデプロイを引き取るためのリンクが提供されます

プロジェクト設定

再デプロイしやすくするため、プロジェクトのルートに windsurf_deployment.yaml ファイルを作成します。このファイルには、プロジェクト ID やフレームワークなど、今後のデプロイに必要な情報が含まれます。

App Deploys の使い方

アプリケーションをデプロイするには、Cascade に次のように依頼するだけです。
Cascade が手順に沿ってガイドし、よくある問題のトラブルシューティングをサポートします。

チームへのデプロイ

この機能の切り替えには、Team 管理者権限が必要です。
Teams プランおよび Enterprise プランをご利用のユーザーは、Netlify アカウントを Devin Desktop アカウントに接続して、Netlify Team にデプロイできます。 この設定はチーム設定で切り替えられます。チーム設定には、プロフィールページまたはこちらからアクセスできます。

セキュリティに関する注意事項

デプロイのため、お客様のコードは当社のサーバーにアップロードされます。公開しても差し支えないコードのみを デプロイしてください。
当社では、セキュリティを確保するために次のような対策を講じています。
  • ファイルサイズの制限と検証
  • お客様のアカウントのティアに応じたレート制限
  • プロジェクトファイルの安全な取り扱い
プライバシーをさらに高めるには、clear-cookies.windsurf.build にアクセスし、windsurf.build 配下のサイトによって設定された Cookie がないか確認し、見つかった場合は削除してください。Cookie が表示される場合、本来そこにあるべきものではありません。削除することで、クロスサイト Cookie の問題を防ぎ、利用環境をクリーンに保つことができます。 Devin Desktop のサイトは人間と AI によって構築されています。AI にはベストプラクティスに沿った判断を促していますが、念のため引き続き注意して利用することをおすすめします。Devin Desktop は、ユーザーがデプロイしたサイトに起因する問題について責任を負いません。

デプロイを引き取る

デプロイ後、引き取り用の URL が発行されます。このリンクから、個人のプロバイダーアカウントでプロジェクトを引き取ることができ、次のことが可能になります。
  • デプロイを完全に管理できる
  • プロバイダー固有の機能を利用できる
  • ドメイン名を変更できる
  • ログやビルド情報に直接アクセスできる
引き取られていないデプロイは、一定期間後に削除される場合があります。重要なプロジェクトは早めに引き取ることを推奨します。

レート制限

不正利用を防ぐため、以下のティア別レート制限を適用しています。

対応フレームワーク

App Deploys は、以下を含む主要な JavaScript フレームワークのほとんどに対応しています。
  • Next.js
  • React
  • Vue
  • Svelte
  • 静的な HTML/CSS/JS サイト

トラブルシューティング

デプロイ時のビルド失敗

デプロイが失敗する場合:
  1. Cascade が提供するビルドログを確認します
  2. プロジェクトをローカルでビルドできることを確認します (テストには npm run build を実行します)
  3. プロジェクトがフレームワークの推奨構成に従っていることを確認します
  4. netlify.toml を使用してフレームワークを Netlify にデプロイする方法についてドキュメントを参照します
  5. プロバイダーのダッシュボードで詳細なログにアクセスするために、プロジェクトを引き取ることを検討します
フレームワーク固有のビルドエラーについては、直接サポートできません。コードの問題が原因で デプロイが失敗する場合は、ローカルでデバッグするか、プロジェクトを引き取って プロバイダーのサポートチームと連携してください。

Netlify サイトが見つかりません

これは、ビルドが失敗した可能性が高いことを意味します。サイトを引き取り (デプロイ履歴 で確認できます) 、詳細はビルドログを確認してください。多くの場合、ビルドログを Cascade に貼り付けて、サポートを求めることができます。

サブドメイン / URL の変更

netlify.app ドメインの更新

デプロイを引き取り、Netlify サイトの設定を更新すると、サブドメインを変更できます。これにより、.netlify.app ドメインも更新されます。

カスタム .windsurf.build サブドメインの更新

デプロイ後は、カスタム .windsurf.build サブドメインを変更できません。代わりに、新しいサブドメインで新しいサイトをデプロイする必要があります。
カスタム .windsurf.build サブドメインを更新するには、新しいサブドメインで新しいサイトをデプロイする必要があります。
  1. プロジェクトから windsurf_config.yaml ファイルを削除します
  2. Cascade に、新しいサブドメインで新しいサイトをデプロイするよう依頼し、希望するサブドメインを伝えます
  3. Cascade が古いサブドメインに再デプロイしないよう、新しい会話を開始するか、自動生成された Memories をクリアするとよい場合があります
  4. 新しいデプロイメントを作成すると、「Deploy」を押す前に、UI 上のサブドメインの「Edit」ボタンを押して更新できます

エラー: Unable to get project name for project ID

このエラーは、プロジェクト ID が当社の管理システムで見つからない場合、または Cascade がサブドメインを誤ってプロジェクト ID として利用している場合に発生します。対処法:
  1. プロジェクトが Netlify アカウント内にまだ存在していることを確認してください (クレーム済みであることが前提です) 。
  2. windsurf_deployment.yaml ファイルにプロジェクト ID が含まれていることを確認してください。ファイルに含まれていない場合は、デプロイ履歴 のドロップダウンから設定ファイルをダウンロードできます。
  3. 再デプロイを試し、Cascade に windsurf_deployment.yaml ファイル内の project_id を利用するよう、より明示的に指示してください