在Debian上設置Flutter應用的持續集成(CI)和持續交付(CD)流程,可以極大地提高開發效率和代碼質量。以下是一個詳細的步驟指南,幫助你實現這一目標。
首先,確保你的Debian系統滿足Flutter的最低要求。你需要安裝一些必要的工具和庫:
sudo apt update
sudo apt install clang cmake build-essential pkg-config libegl1-mesa-dev libxkbcommon-dev libgles2-mesa-dev libwayland-dev wayland-protocols git curl wget unzip
然后,下載并解壓Flutter SDK:
wget https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.5.4-hotfix.2-stable.tar.xz
tar xf /Downloads/flutter_linux_v1.5.4-hotfix.2-stable.tar.xz -C /development
將Flutter添加到PATH環境變量中:
echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
運行 flutter doctor
命令來檢查并安裝任何缺失的依賴項:
flutter doctor
在你的GitHub倉庫中,創建一個 .github/workflows
文件夾,并在其中創建一個名為 flutter_ci.yml
的文件,內容如下:
name: Flutter CI
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Flutter
uses: subosito/flutter-action@v1
with:
flutter-version: '2.2.3'
- name: Install dependencies
run: flutter pub get
- name: Build APK
run: flutter build apk
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: release-apk
path: build/app/outputs/apk/release/app-release.apk
這個工作流會在代碼推送到 master
分支時觸發,執行代碼檢出、Flutter環境設置、依賴項安裝和構建APK。
上述GitHub Actions配置文件定義了一個簡單的CI/CD流程:
master
分支時,觸發構建流程。subosito/flutter-action
動作來設置Flutter環境。flutter pub get
來安裝項目依賴。flutter build apk
來構建Android APK。如果你選擇使用自托管Runner,可以參考以下步驟:
wget https://github.com/github/runner/releases/latest/download/GitHubRunner-2.265.0-linux-x64.tar.gz
tar -xvzf GitHubRunner-2.265.0-linux-x64.tar.gz
sudo mv GitHubRunner-2.265.0-linux-x64 /usr/local/bin/github-runners
sudo chmod +x /usr/local/bin/github-runners
./bin/register-runner --docker --replace
wget https://storage.googleapis.com/flutter_infra/releases/stable/linux/flutter_linux_v1.5.4-hotfix.2-stable.tar.xz
tar xf /Downloads/flutter_linux_v1.5.4-hotfix.2-stable.tar.xz -C /development
echo 'export PATH="$HOME/development/flutter/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
在GitHub項目的Settings - Actions - Runners中,添加并配置自托管Runner。
通過以上步驟,你就可以在Debian上構建一個基本的Flutter CI/CD流程。根據具體需求,你可以進一步定制和擴展這個流程。