Github Actions(Github 提供的一種 CI/CD 服務(wù))自動發(fā)布插件到 pub.dev,這樣做的好處有
- 避免手動發(fā)布,節(jié)約上傳時間
- 在 Github 合并別人提交的代碼后也可以立即發(fā)布
以下說明如何進(jìn)行
添加流程
首先在插件的 .github/workflows 目錄內(nèi)創(chuàng)建一個配置文件 publish.yml。

image.png
內(nèi)容如下
name: Publish to Pub.dev
# 流程觸發(fā)時機(jī),當(dāng)有標(biāo)簽創(chuàng)建時觸發(fā),如 v1.0.0。當(dāng)然也可以選擇別的觸發(fā)時機(jī),如 push,release 等
on: create
jobs:
publishing:
runs-on: ubuntu-latest
steps:
# 拉取倉庫代碼
- name: "Checkout"
uses: actions/checkout@v2
# 發(fā)布插件
- name: Dart and Flutter Package Publisher
uses: k-paxian/dart-package-publisher@v1.2
with:
# 設(shè)置發(fā)布插件需要的 Token
accessToken: ${{ secrets.OAUTH_ACCESS_TOKEN }}
refreshToken: ${{ secrets.OAUTH_REFRESH_TOKEN }}
流程中需要設(shè)置 OAUTH_ACCESS_TOKEN 和 OAUTH_REFRESH_TOKEN 這兩個 Token,他們在 .pub-cache/credentials.json 的文件內(nèi),這個文件是第一次手動發(fā)布插件成功后自動生成的,在用戶的 home 目錄或者是安裝 Flutter SDK 目錄內(nèi)。

image.png
拿到 Token 后去插件倉庫添加以上兩個 Secret,至此配置工作已完成 ??

image.png
發(fā)布插件
現(xiàn)在每次更新插件只需要新增標(biāo)簽然后推送到倉庫,就可以自動更新插件啦!
git tag v1.0.1
git push --tags
復(fù)制代碼

image.png
參考
Dart and Flutter Package Publisher
第一次發(fā)布插件看這里 Publishing your package