🤖
Flutter WebをGithub ActionsでビルドしてCloudflare Pagesへデプロイするやつ
上げたい対象のPagesプロジェクトはリポジトリを指定しないのにしたほうが良いっぽいです。
自前で上げるのでCF側でビルドするものないですし。
wrangler pages project create {project-name} --production-branch main
このコマンドから空のが作れるみたいですが、自分はWebからファイル上げる方でキャンセルで作れてました。
リポジトリ名のプロジェクトへ上げるようにしてるので、リポ名とプロジェクト名は合わせる必要があるかと思います。
プロジェクト作らないでデプロイしたら勝手に作られるかは確認してないです。
name: Deploy Flutter Web to Cloudflare Pages
on:
push:
branches:
- main
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.32.4'
- name: Install dependencies then build
run: |
flutter --version
flutter pub get
flutter build web --release
- name: Set repository name as environment variable
run: echo "REPOSITORY_NAME=${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}" >> $GITHUB_ENV
- name: Deploy to Pages
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: pages deploy build/web --project-name ${{ env.REPOSITORY_NAME }} --branch ${{ github.ref_name }}
リポジトリ名の取り方はこちらを参考にしました。
wranglerは普通に本家をみればなんとかなるかと
対象ブランチを好みのにすればプレビュー環境へも上げれると思います。
Discussion