▶️
GitHub から Cloudflare Workers へ自動デプロイ
全体の流れ
- GitHub に Cloudflare のアカウント ID を登録
- GitHub に Cloudflare の API token を登録
- GitHub Actions 用の YAML ファイルを main ブランチに反映
- GitHub Actions が動く
- Cloudflare Workers に自動でデプロイされれば完了
事前設定
GitHub リポジトリに Actions 用の secrets を登録する。
- GitHub > (当該リポジトリ) > Setting > Secrets and variables > Actions
ここで登録する secrets は 2 つ。
- Cloudflare アカウント ID
- Cloudflare API token
Cloudflare アカウント ID
「アカウント ホーム」から、当該ドメインのページに飛ぶと、右下のほうに「アカウント ID」があったのでコピー。CF_ACCOUNT_ID という名前で登録。
Cloudflare API token
- アカウント ホーム > アカウントの管理 > アカウント API トークン
上記メニューから作成できたので適当に作成。とりあえず今回は Workers に自動デプロイしたいだけなので、そこまで権限はいらないはず……。CF_API_TOKEN という名前で登録。
YAML ファイルの中身
2025/08/29 時点の情報は以下の通り。
-
actions/checkout@v5が使えるようになった - 「
wranglerが無い」と怒られるので、npm install wranglerが必要
name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
name: Deploy
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install
run: npm install wrangler
- name: npm ls
run: npm ls
- name: Deploy
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT_ID }}
余談
GitHub から Cloudflare Workers へ自動デプロイする場合の、YAML の情報が古いものが多かったので一応メモ。この情報もそのうち古くなるかもですが。
Discussion