debian

Debian上Flutter应用的持续集成实践

小樊
42
2025-06-17 03:49:11
栏目: 智能运维

在Debian上设置Flutter应用的持续集成(CI)和持续交付(CD)流程,可以极大地提高开发效率和代码质量。以下是一个详细的步骤指南,帮助你实现这一目标。

安装Flutter SDK

首先,确保你的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 Actions for CI/CD

在你的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。

持续集成和持续部署(CI/CD)流程

上述GitHub Actions配置文件定义了一个简单的CI/CD流程:

  1. 代码提交:当有代码推送到 master 分支时,触发构建流程。
  2. 设置Flutter环境:使用 subosito/flutter-action 动作来设置Flutter环境。
  3. 安装依赖:运行 flutter pub get 来安装项目依赖。
  4. 构建APK:运行 flutter build apk 来构建Android APK。
  5. 上传APK:将构建好的APK上传到GitHub Actions的artifacts中。

自托管Runner(可选)

如果你选择使用自托管Runner,可以参考以下步骤:

  1. 下载并配置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
  1. 注册Runner
./bin/register-runner --docker --replace
  1. 在Runner上配置Flutter环境
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
  1. 配置自托管Runner

在GitHub项目的Settings - Actions - Runners中,添加并配置自托管Runner。

通过以上步骤,你就可以在Debian上构建一个基本的Flutter CI/CD流程。根据具体需求,你可以进一步定制和扩展这个流程。

0
看了该问题的人还看了