#Github Action#Github#Flutter#APK#AAB#Android

使用原因


因為個人 Mac 是 M1 記憶體也只有 8G,空間又不足,每次 Build 都會跑到電腦很 Lag,所以轉用 Github Action 來 Build,避免電腦一堆垃圾與佔用記憶體。

Guthub 免費提供每月 2000 分鐘的額度,可以從 Actions Usage Metrics 觀看使用量。

Plan Artifact storage Minutes (per month) Cache storage
GitHub Free 500 MB 2,000 10 GB
GitHub Pro 1 GB 3,000 10 GB
GitHub Free for organizations 500 MB 2,000 10 GB
GitHub Team 2 GB 3,000 10 GB
GitHub Enterprise Cloud 50 GB 50,000 10 GB

Workflow


路徑

.github/workflows/xxx.yml ,一個 xxx.yml 檔,就是一個工作流程,一個專案可以一次設定多個 workflow。


GitHub Personal Access Token 設定

要使用 Action 上傳到 Github Release 就必須先設定一組 Token,產生方式為 右上角點你的頭像 > Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token (classic),勾選 repowrite:packages 產生。


Secrets 設定

Secrets 是用來將 .jks、Token、等機敏資料加密存在 Github,使用到時再讀出來使用,避免把機敏資料上到 Git Commit。
一個 Secret 可從 GitHub Repository > Settings > Secrets and variables > Actions > New repository secret 新增即可在 .yml 內使用 ${{ secrets.KEY }} 替代。

Secret 名稱 用途說明
ID_RSA SFTP SSH Key
KEYSTORE_BASE64 Android keystore 的 Base64
KEY_ALIAS Keystore 的 Alias
KEY_PASSWORD Key 的密碼
STORE_PASSWORD Keystore 的密碼
PERSONAL_ACCESS_TOKEN GitHub Personal Access Token