在GitHub Actions部署Flutter Web项目

254 阅读2分钟

 上一篇:在GitHub Pages部署Flutter Web项目

demo效果:

运行效果:jke7-supplier.github.io/flutter_web…

一、创建一个带有Web支持的新项目并提交远程github仓库

 1.本地创建一个带有web支持的flutter 项目。
#创建一个flutter项目并进入(名字叫 flutter_web_actions_build)
flutter create flutter_web_actions_build && cd flutter_web_actions_build
2.提交到github远程仓库
git init 
git add --all 
git commit -m "first commit" 
//#YOUR_NAME是你自己的github用户名 
git remote add origin https://github.com/JKE7-supplier/flutter_web_actions_build.git 
git push -u origin main

图片.png

3.重点:打开web项目里的index.xml文件,修改成你github仓库的名字,不然关联不到相对路径资源文件。

图片.png

二、Github 的 access token设置

我们将创建一个Actions来构建和发布Flutter Web项目,但是我们需要设置一个访问令牌(access token),让运行我们的Actions的机器无需github密码也能提交代码。

步骤1:

图片.png

步骤2:

图片.png

步骤3:

选择repo:statuspublic_repo部分以提交公共存储库:注意:如果您的存储库是私有的,则还需要选择私有部分。

图片.png

创建access token后,将其复制并保留在某个地方,因为您再也看不到它,稍后需要用到。

图片.png

三、Github 项目的secret配置

图片.png

起个名字commit_secret与access token作用匹配,将前面获取的access token密钥添加到下方输入框

图片.png

四、给项目设置Actions配置

1.开启GitHub Actions:

图片.png

2.在Actions下添加一个 workflows ⬇️⬇️⬇️

图片.png

main.yml文件如下:

需要注意的: https://${{secrets.commit_secret}}@xxxxx.git,其中“commit_secret”是你自己在“add a new secret”时设置name。

name: Flutter Web
on:
  push:
    branches:
      - main
jobs:
  build:
    name: Build Web
    env:
      my_secret: ${{secrets.commit_secret}}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: subosito/flutter-action@v1
        with:
          channel: 'stable'
      # 按照下面的顺序执行打包命令
      - run: flutter config --enable-web
      - run: flutter pub get
      - run: flutter channel master
      - run: flutter upgrade
      - run: flutter build web --release
      - run: |
          cd build/web
          git init
          # 改成你的提交邮箱
          git config --global user.email yourGithubEmail
          # 改成你的提交用户名
          git config --global user.name yourGithubName
          git status
          # 更改此远程URL,例如查看您的远程URL是 https://github.com/JKE7-supplier/flutter_web_actions_build.git 然后改成以下内容
          git remote add origin https://${{secrets.commit_secret}}@github.com/JKE7-supplier/flutter_web_actions_build.git
          git checkout -b gh-pages
          git add --all
          git commit -m "update"
          git push origin gh-pages -f
          
3.自动部署打包:

图片.png

4.打包成功后:

图片.png

图片.png

运行效果:jke7-supplier.github.io/flutter_web…

demo github : GitHub - JKE7-supplier/flutter_web_actions_build: Flutter web build to gitHub actions

图片.png