👋
GitHub へのコミットをトリガーに Cloudflare Workers をデプロイする
先日の Cloudflare Workers のアップデートで、Git リポジトリと Cloudflare Worker を連携できるようになりました。これにより、自前でデプロイワークフローを組まずともコミットをトリガーにしたデプロイが実現可能になりました。
Cloudflare Workers を作成する
デプロイ対象となる Worker を実装します。C3 コマンドを使うことで、Hello World example を簡単に作れます。
Cloudflare ダッシュボード上で連携設定を行うためには Worker を作成しておく必要があるため、Do you want to deploy your application?
はYes
を選択し、初回デプロイを実行します。
$ npm create cloudflare@latest
デプロイ完了後に Worker の URL にアクセスすると Hello World!
が返却されます。
GitHub 連携する
ダッシュボードで連携の設定を行います。
先にデプロイした Worker の [設定] > [ビルド] を選択し、Git プロバイダーの接続へと進みます。
対象のリポジトリ、ブランチ等を入力します。今回はデプロイコマンドにnpx wrangler deploy
を設定します。
自動デプロイする
連携が完了したので、コードを変更しコミットをプッシュしてみます。
index.ts
export default {
async fetch(request, env, ctx): Promise<Response> {
- return new Response('Hello World!');
+ return new Response('GitHub integration succeeded!');
},
} satisfies ExportedHandler<Env>;
デプロイが完了すると、バージョン履歴が追加されていることが確認できます。
各バージョン履歴のビルド詳細ページも提供されています。
まとめ
GitHub Actions を書かなくても良いのが、とても楽で良いですね。
Workers をモノレポで管理している場合には、デプロイ順序の制御の問題などにぶち当たりそうではありますが、その辺りもいずれ解決される気もしています。
Discussion