コンテンツにスキップ

デプロイフック

デプロイフックを使用すると、ソースリポジトリ内のコミット以外のイベントソースを使用してデプロイメントをトリガーできます。各イベントソースは独自のURLを取得でき、そのURLは新しいデプロイメントを開始するためにHTTP POSTリクエストを受信します。この機能により、Pagesを新しいまたは既存のワークフローと統合できます。たとえば、次のことが可能です:

  • ヘッドレスCMS内のコンテンツが変更されるたびに新しいビルドを自動的にデプロイする
  • 完全にカスタマイズされたCI/CDパイプラインを実装し、望ましい条件下でのみデプロイする
  • 固定のタイムラインでウェブサイトを更新するためにCRONトリガーをスケジュールする

デプロイフックを作成するには:

  1. Cloudflareダッシュボードにログインし、アカウントを選択します。
  2. アカウントホームで、Workers & Pagesを選択します。
  3. 概要で、Pagesプロジェクトを選択します。
  4. 設定 > ビルドとデプロイメントに移動し、デプロイフックを追加を選択して設定を開始します。

Cloudflareダッシュボードでデプロイフックを追加

必要なパラメータ

デプロイフックを構成するには、2つの主要なパラメータを入力する必要があります:

  1. デプロイフック名: デプロイフックの一意の識別子(例:contentful-site
  2. ビルドするブランチ: デプロイフックがビルドするリポジトリのブランチ

Cloudflareダッシュボードでデプロイフック名とビルドするブランチを選択

デプロイフックの使用

設定が完了すると、デプロイフックのユニークなURLが使用可能になります。URLとPOSTリクエストのスニペットが表示され、コピーできます。

デプロイフックの新しく生成されたユニークURLを確認

デプロイフックにリクエストが送信されるたびに、新しいビルドがトリガーされます。デプロイメントログのソース列を確認して、どのデプロイメントがデプロイフックによってトリガーされたかを確認してください。

デプロイフックによってトリガーされたデプロイメントを確認

セキュリティ考慮事項

デプロイフックはプロジェクトに一意にリンクされており、使用するために追加の認証は必要ありません。このため、完全な柔軟性が得られますが、これらのURLを保護することが重要です。これは、他の機密情報やアプリケーションの秘密を保護するのと同様です。

デプロイフックの不正使用が疑われる場合は、デプロイフックを削除し、その代わりに新しいものを生成するべきです。

一般的なCMSプラットフォームとのデプロイフックの統合

すべてのCMSプロバイダーは異なり、Pagesのデプロイフックとの統合に異なる経路を提供します。以下のセクションでは、人気のあるCMSプラットフォームのいくつかに対するステップバイステップの指示を含んでいます。

Contentful

Contentfulは、Webhooks機能を介してCloudflare Pagesとの統合をサポートしています。Contentfulプロジェクトの設定で、Webhooksに移動し、新しいWebhookを作成し、URLフィールドにユニークなデプロイフックURLを貼り付けます。オプションで、Contentful Webhookが転送すべきイベントを指定できます。デフォルトでは、ContentfulはすべてのプロジェクトアクティビティでPagesデプロイメントをトリガーしますが、これは少し頻繁すぎるかもしれません。Create、Publishなどの特定のイベントをフィルタリングできます。

Contentfulでデプロイフックを構成

Ghost

Ghostウェブサイトを構成してPagesデプロイメントをトリガーするには、新しいカスタムインテグレーションを作成します。Ghostウェブサイトの設定で、インテグレーションページに新しいカスタムインテグレーションを作成します。

作成された各カスタムインテグレーションには、複数のwebhookを添付できます。Add webhookを選択し、Site changed (rebuild)イベントとして選択して新しいWebhookを作成します。次に、ユニークなデプロイフックURLをターゲットURLの値として貼り付けます。このWebhookを作成した後、Ghostサイトが変更されるたびにCloudflare Pagesアプリケーションが再デプロイされます。

Ghostでデプロイフックを構成

Sanity

Sanityプロジェクトの設定ページで、Webhooksセクションを見つけ、デプロイフックURLを追加します。デフォルトでは、WebhookはSanityプロジェクト内のすべてのデータセットに対してPagesデプロイフックをトリガーします。データセットフィールドを使用して、プロダクションなどの個々のデータセットに通知をフィルタリングできます。

Sanityでデプロイフックを構成

WordPress

WordPressを構成してPagesデプロイフックをトリガーするには、無料のWP Webhooksプラグインをインストールします。このプラグインには、新しい投稿のデータを送信、投稿の更新時にデータを送信、投稿の削除時にデータを送信などのトリガーが含まれており、WordPressデータが変更されると新しいPagesデプロイメントをトリガーできます。プラグイン設定のサイドバーでトリガーを選択し、Webhook URLを追加して、ユニークなデプロイフックURLを貼り付けます。

WordPressでデプロイフックを構成

Strapi

Strapi管理パネルで、Cloudflare Pagesとの体験を向上させるためにWebhookを設定および構成できます。Strapi管理パネルで:

  1. 設定に移動します。
  2. Webhooksを選択します。
  3. 新しいWebhookを追加を選択します。
  4. 名前のフォームフィールドに新しいWebhookの一意の名前を付けます。
  5. URLのフォームフィールドにユニークなCloudflareデプロイフックURLを貼り付けます。

Strapi管理パネルでは、イベントに基づいてWebhookがトリガーされるように設定できます。Strapiエントリまたはメディアアセットが作成、更新、または削除されると、自動的にCloudflare Pagesサイトの新しいデプロイメントが作成されるようにこれらの設定を調整できます。

Cloudflareサイトを支えるプロダクション StrapiアプリケーションにWebhook設定を追加することを忘れないでください。

Strapiでデプロイフックを構成

Storyblok

Storyblokでデプロイフックを設定および構成してイベントをトリガーできます。Storyblokスペースで、設定に移動し、Webhooksまでスクロールします。デプロイフックをストーリーの公開および非公開フィールドに貼り付け、保存を選択します。

Storyblokでデプロイフックを構成