Cloudflare Workers
1. bunでcreate-cloudflareをインストール $ bun install create-cloudflare
※create-cloudflareはWrangler CLIとCloudflare Pagesアダプタを含む依存関係をインストールし、セットアップの質問をします。
2. create-cloudflareでhello world workerの雛形を作成
$ bun create cloudflare
デプロイまで実行するとcloudflareでworkerが作られる。
3. 実行
$ wrangler dev
ローカル環境で実行
$ wrangler dev --env production
本番環境想定で実行
github actionをつかってデプロイする
1. cloudflare側でapi tokenを生成する
2. 生成したapi tokenをgithubの設定からRepository secretsに新規登録
3. github actionを新規作成
code:deploy-to-cloudflare.yml
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy
steps:
- uses: actions/checkout@v3
- name: Install Bun
run: |
- name: Set up Bun path
run: echo "$HOME/.bun/bin" >> $GITHUB_PATH
- name: Deploy
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
定期実行 CRON
Cloudflare Workersは、定期実行(CRON)できる。
wranglerに下記設定を行って、
code:wrangler.toml
index.tsに下記を書く。
code:index.ts
export default {
async scheduled(event: ScheduledEvent, env: Env, ctx :ExecutionContext): Promise<void> {
console.log('cron start');
// 処理
console.log('cron processed');
},
}
ローカルで実行するには
$ wrangler dev --test-scheduled
を実行して、下記curlを行うと動作確認できる。