App Deploysは、Cascadeのツール呼び出しを介して、Windsurf内から直接ウェブアプリやサイトをデプロイできる機能です。パブリックURLで成果物を共有し、デプロイを更新し、プロジェクトを自分のものとして引き継いでさらなるカスタマイズを行えます。本機能は現在ベータ版で、対応フレームワークの拡充やより堅牢なビルドなどを順次提供予定です。

概要

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

対応プロバイダー

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

仕組み

App Deploys を使用すると、コードは当社のサーバーにアップロードされ、当社の傘下アカウントでプロバイダーにデプロイされます。デプロイ済みのサイトは、次の形式の公開 URL でアクセス可能になります。
<SUBDOMAIN_NAME>.windsurf.build

デプロイ手順

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

プロジェクト設定

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

App Deploys の使い方

アプリケーションをデプロイするには、次のように Cascade に依頼してください。
"このプロジェクトをNetlifyにデプロイする"
"デプロイメントを更新する"
Cascade が手順を案内し、よくある問題のトラブルシューティングをサポートします。

チームへのデプロイ

この機能の切り替えには、Team の管理者権限が必要です。
Teams および Enterprise プランのユーザーは、Netlify アカウントを Windsurf アカウントに連携し、Netlify のチームにデプロイできます。 この設定は Team Settings で切り替えられます。Profile ページからアクセスするか、こちらをクリックしてください。

セキュリティに関する考慮事項

デプロイのためにコードは当社のサーバーへアップロードされます。公開しても差し支えないコードのみをデプロイしてください。
セキュリティ確保のため、以下の対策を実施しています:
  • ファイルサイズの上限設定と検証
  • アカウントのプラン/ティアに基づくレート制限
  • プロジェクトファイルの安全な取り扱い
プライバシーを強化するには、clear-cookies.windsurf.build にアクセスし、windsurf.build 配下のサイトによって設定された Cookie を確認・削除してください。もし Cookie が表示された場合、本来存在しないはずのものです。削除することでクロスサイト Cookie に関する問題を防ぎ、快適な利用体験を維持できます。 Windsurf のサイトは人間と AI の両方によって構築されます。AI にはベストプラクティスに沿った判断を促していますが、常に注意を払うことをおすすめします。Windsurf は、ユーザーがデプロイしたサイトに起因する問題については責任を負いません。

デプロイのクレーム

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

レート制限

不正利用を防ぐため、以下のプラン別のレート制限を適用します。
プラン1日あたりのデプロイ数未クレームのサイト数(上限)
Free11
Pro105

サポート対象のフレームワーク

App Deploys は、以下の一般的な JavaScript フレームワークで動作します。
  • Next.js
  • React
  • Vue
  • Svelte
  • 静的な HTML/CSS/JS サイト

トラブルシューティング

デプロイのビルドが失敗した場合

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

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

ビルドが失敗している可能性が高いです。サイトを所有権申請(deploy history から見つけられます)し、詳細はビルドのログで確認してください。多くの場合、ビルドのログを Cascade に貼り付けて、支援を依頼できます。

サブドメイン/URL の変更

netlify.app ドメインの更新

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

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

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

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

このエラーは、プロジェクトIDが当社の記録システムで見つからない場合、または Cascade がサブドメインを誤ってプロジェクトIDとして使用している場合に発生します。対処手順:
  1. (プロジェクトのクレーム済みを前提として)Netlify アカウントに対象のプロジェクトがまだ存在するか確認します。
  2. windsurf_deployment.yaml ファイルにプロジェクトIDが記載されているか確認します。記載がない場合は、deploy history のドロップダウンから設定ファイルをダウンロードできます。
  3. 再デプロイを行い、windsurf_deployment.yamlproject_id を使用するように Cascade に明示的に指示します。