▶️

GitHub から Cloudflare Workers へ自動デプロイ

に公開

全体の流れ

  1. GitHub に Cloudflare のアカウント ID を登録
  2. GitHub に Cloudflare の API token を登録
  3. GitHub Actions 用の YAML ファイルを main ブランチに反映
  4. GitHub Actions が動く
  5. 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