Gemcook Tech Blog

Cloudflare Builder Day 2024で追加されたWorkers Buildsを試してみる

2024/09/30に公開

はじめに

こんにちは、あさひです!
Cloudflare の Birthday Week イベントで Builder Day 2024 が 2024/09/26 に行われていました。
今回はその中で発表された Workers Builds を試していきたいと思います。以下紹介のブログです。

https://blog.cloudflare.com/builder-day-2024-announcements/

今回試すのはあくまで Workers Builds の機能を試すことをメインとするので Cloudflare アカウントの作成や Workers の詳細などについては扱いません。

Cloudflare Workers Builds とは

Workers Builds とは Cloudflare Workers を GitHub または GitLab リポジトリと接続し、自動ビルドとデプロイメントを設定できる機能のことです!
これがあればわざわざ GitHub Actions などで自分で CD を設定しなくて済みそうですね 🤔

https://developers.cloudflare.com/workers/ci-cd/builds/

Cloudflare Workers の準備

プロジェクトの初期化とデプロイ

まずはプロジェクトを作成してしまいます。

npm create cloudflare@latest -- workers-builds --framework=hono

上記コマンドを実行すると、いくつか質問されますが、すべてエンターで進めて問題ありません。
(私は Hono が好きなので framework には Hono を指定して作成します)

Builds は初回のデプロイにはまだ対応していないようなので、初回のデプロイを行っておきましょう。

npm run deploy

動作確認

以下の curl コマンドで動作確認を行います。サブドメインをexampleにしていますが各々の設定に書き換えて試してください。

curl https://workers-builds.example.workers.dev

Hello Hono!

問題なさそうですね!Worker がメッセージを返してくれました。

リモートリポジトリへプッシュ

Builds は事前に設定したブランチへのプッシュで自動的にデプロイされるものなので、GitHub もしくは GitLab との連携が必要になります。
今回は GitHub で行います。リポジトリにコードをプッシュしておきます。

Builds の設定

GitHub と接続

Cloudflare のダッシュボードから Workers & Pages へ進み、今回作成した Worker を選択します(例で言うと workers-builds)。
設定のタブを選択し Builds の設定欄を確認してください。

「接続」を選んで接続する Git プロバイダーを選択します。今回は GitHub を接続します。
あとは画面に従って GitHub アカウントに Cloudflare アプリケーションをインストールします

今回はこんな感じです。環境ごとに workers を作成している場合もあると思うので適したブランチを選択してください。

Builds の機能を確認

では早速以下のように編集します。

app.get("/", (c) => {
-  return c.text("Hello Hono!");
+  return c.text("Hello Workers Builds!");
});

さて今は main ブランチで編集しているのでこれを push すればデプロイが走るはずです。
コミットメッセージに「fix: デモ」とでも入れておきます。Workers のダッシュボードのデプロイのタブでコミットメッセージやコミット ID などが見られるので、わかりやすいようにしておきましょう。
ダッシュボードを確認すると、うまくいっているようです 👀

動作確認

さて、これでデプロイはできているはずなので、先の動作確認と同じコマンドを実行し、編集したメッセージに変わっていれば成功です。

curl https://workers-builds.example.workers.dev

Hello Workers Builds!

はい!成功していますね!🎉

まとめ

今回は簡単な内容でしたが、Workers Builds を試してみました!
これがあれば、手軽に作った Workers をわざわざ GitHub Actions を書かずにデプロイできそうだと思いました!
制限や価格に関してはこちらに記載の通りですが、ベータの間は無料で使えそうなので今のうちに試してみて吟味してみるといいかもしれません!

参考資料

https://developers.cloudflare.com/workers/ci-cd/builds/

Gemcook Tech Blog
Gemcook Tech Blog

Discussion