GitHub Actionsを使ってFlutter for webをbuildしてGitHub Pagesで公開する

October 17, 2019

GitHub Actionsが使えるようになったらWeb版のデプロイを任せたいなぁと思っていたが、すっかり忘れていた。
週末に思い出してSign upしておいたら、昨日使えるようになっていたのでMoyoに設定してみた。

参考にしたのは以下の記事。Flutter(Android)をbuildする方法が丁寧に書いてある。

https://medium.com/better-programming/ci-cd-for-flutter-apps-using-github-actions-b833f8f7aac

そして、任意のブランチにpushできるアクションも既にあるのでそれを使ってgh-pagesにpushすることにした。

https://github.com/JamesIves/github-pages-deploy-action

最終的にmain.ymlはこう書いた。

https://github.com/tnantoka/moyo/blob/master/.github/workflows/main.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
on:
  push:
    branches:
      - master
name: Build and Deploy
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-java@v1
        with:
          java-version: '12.x'
      - uses: subosito/flutter-action@v1
        with:
          channel: 'dev'
      - run: flutter pub get
      - run: flutter config --enable-web
      - run: flutter build web
      - uses: JamesIves/github-pages-deploy-action@master
        env:
          ACCESS_TOKEN: $
          BASE_BRANCH: master
          BRANCH: gh-pages
          FOLDER: build/web

masterflutter-actionが対応していなかったので、Channelはdevにしている。

これでmasterにpushするたびに以下のページが更新されるようになった。

https://tnantoka.github.io/moyo/

今までは手動でflutter build webを叩いていたので、その手間がなくなって快適になった。