使用 Github Action 釋出 Flutter 外掛

冷石Boy發表於2020-07-29

前言

筆者有釋出過幾個 Flutter 外掛,一直在手動更新。手動更新外掛有點麻煩且容易失敗(需要 kexue 上網),因此研究了下如何使用 Github Actions(Github 提供的一種 CI/CD 服務)自動釋出外掛到 pub.dev,這樣做的好處有

  1. 避免手動釋出,節約上傳時間
  2. 在 Github 合併別人提交的程式碼後也可以立即釋出

以下說明如何進行

新增流程

首先在外掛的 .github/workflows 目錄內建立一個配置檔案 publish.yml

publish

內容如下

name: Publish to Pub.dev

# 流程觸發時機,當有標籤建立時觸發,如 v1.0.0。當然也可以選擇別的觸發時機,如 push,release 等
on: create

jobs:
  publishing:
    runs-on: ubuntu-latest
    steps:
      # 拉取倉庫程式碼
      - name: "Checkout"
        uses: actions/checkout@v2
      # 釋出外掛
      - name: Dart and Flutter Package Publisher
        uses: k-paxian/dart-package-publisher@v1.2
        with:
          # 設定釋出外掛需要的 Token
          accessToken: ${{ secrets.OAUTH_ACCESS_TOKEN }}
          refreshToken: ${{ secrets.OAUTH_REFRESH_TOKEN }}
複製程式碼

流程中需要設定 OAUTH_ACCESS_TOKENOAUTH_REFRESH_TOKEN 這兩個 Token,他們在 .pub-cache/credentials.json 的檔案內,這個檔案是第一次手動釋出外掛成功後自動生成的,在使用者的 home 目錄或者是安裝 Flutter SDK 目錄內。

credentials

拿到 Token 後去外掛倉庫新增以上兩個 Secret,至此配置工作已完成 ?

secret

釋出外掛

現在每次更新外掛只需要新增標籤然後推送到倉庫,就可以自動更新外掛啦!

git tag v1.0.1

git push --tags
複製程式碼

action

參考

Dart and Flutter Package Publisher

第一次釋出外掛看這裡 Publishing your package

相關文章