Flutter在Debian上的持续集成如何设置
导读:在 Debian 上搭建 Flutter 持续集成 一 方案总览与准备 常见方案:使用托管 CI(如 GitHub Actions、GitLab CI/CD)或在自有 Debian 服务器自建 Runner(如 GitLab Runner...
在 Debian 上搭建 Flutter 持续集成
一 方案总览与准备
- 常见方案:使用托管 CI(如 GitHub Actions、GitLab CI/CD)或在自有 Debian 服务器自建 Runner(如 GitLab Runner、Jenkins)。
- 先在 Debian 构建机或 Runner 上准备环境:
- 安装基础依赖:sudo apt update & & sudo apt install -y git curl zip unzip cmake wget。
- 下载并解压 Flutter SDK(Linux x64),例如解压到 /opt/flutter:
- wget https://dl.flutter.io/flutter/flutter--linux-x64.zip
- unzip flutter--linux-x64.zip -d /opt/flutter
- 配置环境变量:echo ‘export PATH=“$PATH:/opt/flutter/bin”’ > > ~/.bashrc & & source ~/.bashrc
- 验证环境:flutter doctor -v,按需安装缺失依赖(如 Android SDK/NDK、Chrome 等)。
二 使用 GitHub Actions
- 在项目根目录创建 .github/workflows/flutter-ci.yml,示例:
- name: Flutter CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Flutter uses: subosito/flutter-action@v2 with: channel: ‘stable’ flutter-version: ‘3.24.x’ # 可固定版本 - name: Install dependencies run: flutter pub get - name: Analyze run: flutter analyze --no-fatal-infos - name: Run unit/widget tests run: flutter test --coverage - name: Build APK run: flutter build apk --release - name: Build App Bundle run: flutter build appbundle --release # 可选:上传覆盖率 # - name: Upload coverage # uses: codecov/codecov-action@v3
- 提交并推送后,Actions 会在 push/PR 时自动运行。可按需扩展上传产物、发布到商店或分发渠道。
三 使用 GitLab CI/CD
- 在 Debian 服务器安装并注册 Runner(以项目级 Runner 为例):
- 安装:sudo apt-get update & & sudo apt-get install -y gitlab-runner
- 注册:执行 sudo gitlab-runner register,按提示填写 GitLab 实例 URL、项目注册令牌、Runner 执行器(推荐 docker 或 shell)、标签等。
- 在项目根目录创建 .gitlab-ci.yml,示例:
- image: cirrusci/flutter:stable # 官方 Flutter 镜像
stages:
- build
- test
- deploy variables: FLUTTER_VERSION: “stable” before_script:
- flutter doctor -v
build:
stage: build
script:
- flutter pub get
- flutter build apk --release
- flutter build appbundle --release test: stage: test script:
- flutter test --coverage deploy: stage: deploy script:
- echo “Deploy steps here” only:
- main
- image: cirrusci/flutter:stable # 官方 Flutter 镜像
stages:
- 提交并推送后,Runner 将按阶段执行构建、测试与部署任务。
四 自建 Debian Runner 与 Jenkins
- 安装 Jenkins(Debian 示例):
- sudo apt-get update & & sudo apt-get install -y jenkins
- sudo systemctl start jenkins & & sudo systemctl enable jenkins
- 访问 http://< 服务器IP> :8080 完成初始化与插件安装(建议安装 Git、Pipeline、Docker 等插件)。
- 创建 Pipeline 任务,示例 Jenkinsfile:
- pipeline { agent any environment { FLUTTER_HOME = ‘/opt/flutter’ PATH = “${ env.FLUTTER_HOME} /bin:${ env.PATH} ” } stages { stage(‘Checkout’) { steps { git ‘https://github.com//.git’ } } stage(‘Setup Flutter’) { steps { sh ‘flutter doctor -v’ } } stage(‘Install deps’) { steps { sh ‘flutter pub get’ } } stage(‘Analyze’) { steps { sh ‘flutter analyze --no-fatal-infos’ } } stage(‘Test’) { steps { sh ‘flutter test --coverage’ } } stage(‘Build’) { steps { sh ‘flutter build apk --release’ } } } }
- 保存并运行,Jenkins 将按阶段执行 CI 流程。
五 测试策略与质量门禁建议
- 测试分层:
- 单元测试:使用 test 包,结合 mockito 等做依赖模拟。
- Widget 测试:验证组件渲染与交互。
- 端到端测试:使用 flutter_driver 或 integration_test 模拟真实用户流程。
- 质量门禁与度量:
- 在 CI 中加入 flutter analyze、flutter test --coverage,必要时集成 Codecov 上传覆盖率。
- 结合 DevTools 做性能分析,编写基准测试与内存分析,防止回归。
- 可引入 SonarQube 做静态代码分析与质量门禁,覆盖安全与可维护性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Flutter在Debian上的持续集成如何设置
本文地址: https://pptw.com/jishu/759535.html
