Github Action部署Flutter Web

110 阅读1分钟

main.yml

相对于根路径,路径 .github\workflows\main.yml

name: Deploy GitHub Pages

# 推送到main分支触发
on:
  push:
    branches:
      - main

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      # 拉取代码
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up Flutter
        uses: subosito/flutter-action@v2
        with:
          channel: 'stable'
          flutter-version: 3.22.2
      
      # 生成静态文件
      # --base-href对应github项目名,不然部署后会找不到文件
      - name: Build
        run: |
         flutter pub get
         flutter build web --web-renderer canvaskit --base-href="/test/"

      # 部署到 GitHub Pages
      - name: Deploy
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          token: ${{ secrets.ACCESS_TOKEN }} 
          branch: page # 部署到 page 分支,因为 main 分支存放的一般是源码,而 page 分支则用来存放生成的静态文件
          folder: build/web # 静态文件的路径