Closed5

next-on-pagesでgithub actionsからデプロイする

いもけんいもけん

このスクラップではnext-on-pagesをgithub actionsからデプロイすることのみを目的としており、next-on-pagesやcloudflare pagesのプロジェクトはすでにあることを想定しています

いもけんいもけん

GitHubでRepository secretsにCLOUDFLARE_API_TOKENとCLOUDFLARE_ACCOUNT_IDを追加する

CLOUDFLARE_API_TOKENはcloudflareのダッシュボードの右上アカウントから
API トークン→トークンを作成する→カスタムトークン→名前付けたらcloudflare pages, 編集を選択して作成

CLOUDFLARE_ACCOUNT_IDはcloudflareのダッシュボードからWorkers & Pagesを選択
画面右にコピー可能なアカウントID欄がある

いもけんいもけん
.github/workflows/deploy.yml
name: deploy

on: [push]

jobs:
  publish:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      deployments: write
    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Install dependencies
        run: npm install

      - name: Build
        run: npm run pages:build

      - name: Deploy
        uses: cloudflare/wrangler-action@v3
        with:
          apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
          accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
          command: pages deploy .vercel/output/static --project-name=ここを書く

「ここを書く」のproject nameは同ダッシュボードの自分がデプロイしたいプロジェクトの名前

command: pages deploy .vercel/output/static --project-name=ここを書く
この出力ファイルのパスでハマりました
.vercel/outputでは駄目で、.vercel/output/staticまでいれるとうまくいきます
こうやっても.vercel/output/functionsを見てpages functionsも更新してくれているっぽいです
内部の詳しいことはわからないので間違っていたら教えて下さい

https://github.com/cloudflare/wrangler-action?tab=readme-ov-file#deploy-your-pages-site-production--preview

いもけんいもけん

追記
出力パス、プロジェクト名どちらも指定しないと初期セットアップ時にwrangler.tomlに書いたpages_build_output_dir, name を読みにいってくれるみたいです
なのでそっちに一元管理したほうがよさそう
command: pages deploy

教えていただきましたありがとうございます!

このスクラップは1ヶ月前にクローズされました