首页主机资讯Flutter在Debian上的持续集成如何设置

Flutter在Debian上的持续集成如何设置

时间2025-11-28 22:50:03发布访客分类主机资讯浏览564
导读:在 Debian 上搭建 Flutter 持续集成 一 方案总览与准备 常见方案:使用托管 CI(如 GitHub Actions、GitLab CI/CD)或在自有 Debian 服务器自建 Runner(如 GitLab Runner...

在 Debian 上搭建 Flutter 持续集成

一 方案总览与准备

  • 常见方案:使用托管 CI(如 GitHub ActionsGitLab CI/CD)或在自有 Debian 服务器自建 Runner(如 GitLab RunnerJenkins)。
  • 先在 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/NDKChrome 等)。

二 使用 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 执行器(推荐 dockershell)、标签等。
  • 在项目根目录创建 .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
  • 提交并推送后,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 完成初始化与插件安装(建议安装 GitPipelineDocker 等插件)。
  • 创建 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_driverintegration_test 模拟真实用户流程。
  • 质量门禁与度量:
    • 在 CI 中加入 flutter analyzeflutter test --coverage,必要时集成 Codecov 上传覆盖率。
    • 结合 DevTools 做性能分析,编写基准测试与内存分析,防止回归。
    • 可引入 SonarQube 做静态代码分析与质量门禁,覆盖安全与可维护性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Flutter在Debian上的持续集成如何设置
本文地址: https://pptw.com/jishu/759535.html
Debian系统如何配置Flutter的开发环境 Debian下Flutter的性能监控有哪些工具

游客 回复需填写必要信息