Cockpit CMSをCloudflare Pagesと連携させる
Cockpit CMSをCloudflare Pagesと連携させて、記事などを更新したタイミングで自動でビルド&デプロイするように設定してみたので、まとめ記事です。
公開日:2021年9月7日
やりたいこと
Cockpit CMSも意外と使えることがわかったので、今回は、
- Cockpit CMSでデータ追加
- Cloudflare Pagesで自動でビルド&デプロイ
というスキームを作りたいと思います。ここまで組み上げれば、公開までの時間差はありますが、ほとんどWordPressの代替として使えます。
Cockpit CMSとCloudflare Pagesの連携方法
Cloudflare Pagesでデプロイフックを追加する
Cloudflareにはデプロイフックが用意されているので、そちらを使います。詳しい設定方法は下記の記事をどうぞ。
WordPressでCloudflare Pagesのデプロイフックを使う方法
Cockpit CMSの設定で使うので、フックAPIのURLをコピーしておきます。
Cockpit CMSでWebhookを設定する
Cloudflare PagesのAPIを叩くために、Cockpit CMSのWebhook機能を使います。「設定 > Webhook」から追加が可能です。
「名前」は任意で、「URL」には先程のCloudflare PagesのフックAPIのURLを入力します。
重要なのは、イベントの指定です。
イベントの指定は、
// collections.アクション.前後.ターゲット
collections.remove.after.posts
という形で、メソッドチェーンで記述します。アクションは、save、remove、findなどがあります。ここは、実際にフォームに入力すると補完してくれるので、そこで探しましょう。
ターゲットは、コレクションやシングルトンの名前を指定します。
設定する際のポイントとしては、データが完全になるタイミングでAPIを叩くようにするという点です。タグの追加や、画像の追加、記事の検索などのタイミングでAPIを叩かれると、データが未完成の状態でビルドが走ってしまいますし、ビルドクオータを無駄にしてしまいます。
その意味では、記事ページの
- save.after
- remove.after
の二つを設定しておくのが無難かと思います。
タグやカテゴリ、アセットなどの更新については、手動でCloudflare Pagesのビルド&デプロイを使う運用の方が良いかと思います。
実際に使ってみて
ここ1週間この設定で運用していますが、すこぶる快適です。
Cockpit CMSはデータベースがSQLiteなので、しっかりとバックアップを取っておかないと心配ですが、その分高速動作もしてくれるので、メリット・デメリットあるかなぁという感じです。
PHPサーバーはスターサーバーとかを使えば無料ですし、現在WordPressを使っている方はレンタルサーバーがあると思うのでそちらを使えるので、WordPressユーザーとしては、そのままの環境で移行できるのが嬉しいところですね。(記事のインポートなどの問題もありますけど。)
新着ノート
-
NUXT3
公開日:2023年2月16日
-
NUXT3
公開日:2023年1月30日
新着コード
-
Vue.js
公開日:2022年4月18日
-
Vue.js
公開日:2022年4月13日