在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流程。根据具体需求,你可以进一步定制和扩展这个流程。