Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

デプロイフック

最終更新 Markdown で表示Agent セットアップ

デプロイフック(Deploy Hooks)を使うと、ソースリポジトリへのコミット以外のイベントからもデプロイを起動できます。イベントソースごとに固有の URL を発行でき、その URL へ HTTP POST リクエストを送ると新しいデプロイが始まります。既存または新規のワークフローに Pages を組み込めます。たとえば次の用途があります。

  • ヘッドレス CMS のコンテンツが変わったときに、自動で新しいビルドをデプロイする
  • 独自の CI/CD パイプラインを組み、条件を満たしたときだけデプロイする
  • cron で決まった時刻にサイトを更新する

デプロイフックを作成する手順は次のとおりです。

  1. Cloudflare ダッシュボードで Workers & Pages ページを開きます。

    Workers & Pages を開く ↗
  2. Pages プロジェクトを選びます。

  3. Settings > Builds を開き、Add deploy hook を選んで設定を開始します。

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

必要なパラメーター

デプロイフックを設定するには、次の 2 つのパラメーターを入力します。

  1. Deploy hook name: デプロイフックの一意な識別子(例: contentful-site
  2. Branch to build: デプロイフックがビルドするリポジトリブランチ
Cloudflare ダッシュボードで Deploy hook name と Branch to build を選ぶ

デプロイフックを使う

設定が完了すると、デプロイフック固有の URL を使えるようになります。URL と、コピー用の POST リクエストスニペットの両方が表示されます。

新しく生成されたデプロイフック固有の URL を確認する

デプロイフックへリクエストを送るたびに、新しいビルドが起動します。デプロイログの Source 列で、どのデプロイがデプロイフックから起動されたかを確認できます。

デプロイフックから起動されたデプロイを確認する

セキュリティ上の注意

デプロイフックはプロジェクトに一意に紐づき、利用時に追加の認証は不要です。柔軟に使える一方で、これらの URL は機密情報やアプリケーションシークレットと同じ扱いで保護してください。

不正利用が疑われる場合は、そのデプロイフックを削除し、新しいものを発行してください。

よく使う CMS との連携

CMS ごとに Pages のデプロイフックとの連携方法は異なります。ここでは、よく使われる CMS の手順を説明します。

Contentful

Contentful は Webhooks 機能で Cloudflare Pages と連携できます。Contentful のプロジェクト設定で Webhooks を開き、新しい Webhook を作成し、URL 欄にデプロイフック固有の URL を貼り付けます。転送するイベントは任意で指定できます。デフォルトでは、Contentful はプロジェクトのすべての操作で Pages のデプロイを起動するため、頻度が高すぎることがあります。Create や Publish など、特定のイベントだけに絞れます。

Contentful でデプロイフックを設定する

Ghost

Ghost サイトで Custom Integration を作成すると、Pages のデプロイを起動できます。Ghost サイトの設定で Integrations ページを開き、新しい Custom Integration を作成します。

作成した Custom Integration には、複数の webhooks を付けられます。Add webhook を選び、EventSite changed (rebuild) を指定します。Target URL にデプロイフック固有の URL を貼り付けます。この webhook を作成すると、Ghost サイトが変わるたびに Cloudflare Pages アプリケーションが再デプロイされます。

Ghost でデプロイフックを設定する

Sanity

Sanity プロジェクトの Settings ページで Webhooks セクションを開き、次の図のようにデプロイフック URL を追加します。デフォルトでは、Sanity プロジェクト内のすべてのデータセットに対して Pages のデプロイフックが起動します。Dataset 欄で production など、特定のデータセットだけに通知を絞れます。

Sanity でデプロイフックを設定する

WordPress

無料の WP Webhooks プラグインを入れると、WordPress から Pages のデプロイフックを起動できます。プラグインには Send Data on New PostSend Data on Post UpdateSend Data on Post Deletion などのトリガーがあり、WordPress のデータが変わるたびに新しい Pages デプロイを起動できます。プラグイン設定のサイドバーでトリガーを選び、Add Webhook URL にデプロイフック固有の URL を貼り付けます。

WordPress でデプロイフックを設定する

Strapi

Strapi Admin Panel で webhook を設定すると、Cloudflare Pages との連携を強化できます。Strapi Admin Panel で次の操作をします。

  1. Settings を開きます。
  2. Webhooks を選びます。
  3. Add New Webhook を選びます。
  4. Name 欄に、新しい webhook の一意な名前を入力します。
  5. URL 欄に、Cloudflare のデプロイフック固有の URL を貼り付けます。

Strapi Admin Panel では、イベントに応じて webhook を起動できます。Strapi のエントリやメディアアセットが作成、更新、削除されたときに、Cloudflare Pages サイトの新しいデプロイを自動で作るように設定できます。

webhook の設定は、Cloudflare サイトを動かしている production の Strapi アプリケーションに追加してください。

Strapi でデプロイフックを設定する

Storyblok

Storyblok でデプロイフックを設定すると、イベントを起動できます。Storyblok のスペースで Settings を開き、Webhooks までスクロールします。Story published & unpublished 欄にデプロイフックを貼り付け、Save を選びます。

Storyblok でデプロイフックを設定する

役に立ちましたか?