工具介绍

Flutter CI Tools 是一组用于自动化测试和构建 Flutter 项目的脚本工具集,主要用于持续集成和持续部署(CI/CD)流程。这些工具可以帮助开发者:

  • 在不同的 Flutter 通道(stable、beta、master)上测试项目
  • 自动运行静态代码分析和格式化检查
  • 执行项目的单元测试和集成测试
  • 批量升级项目依赖
  • 在不同平台(Android、iOS)上执行 CI 测试

该工具集特别适合管理多个 Flutter 项目的团队,可以显著提高开发效率和代码质量。

使用步骤

1. 工具的获取

由于这是一个自定义修改版本的工具集,需要以 git 形式获取。可以通过以下方式克隆整个仓库:

git clone https://atomgit.com/packages/flutter_samples.git

或者直接使用特定目录:

git clone --depth 1 https://atomgit.com/packages/flutter_samples.git --single-branch --branch main --no-checkout
cd flutter_samples
git sparse-checkout init --cone
git sparse-checkout set tool

2. 工具的配置

在鸿蒙系统上使用该工具集时,需要确保:

  1. 已安装 Flutter 环境并配置了正确的路径
  2. 已安装 bash 解释器
  3. 已配置好 Android 和 iOS 开发环境(如果需要运行对应平台的测试)
  4. 已为脚本添加执行权限:
chmod +x /path/to/flutter_samples/tool/*.sh

3. 工具的使用

核心工具说明
工具名称 功能描述
flutter_ci_script_stable.sh 使用 Flutter stable 通道测试项目列表
flutter_ci_script_beta.sh 使用 Flutter beta 通道测试项目列表
flutter_ci_script_master.sh 使用 Flutter master 通道测试项目列表
flutter_ci_script_shared.sh 包含共享的 CI 测试逻辑
flutter_pub_upgrade.sh 批量升级项目依赖
android_ci_script.sh 执行 Android 平台的 CI 测试
ios_ci_script.sh 执行 iOS 平台的 CI 测试
使用示例
1. 测试单个 Flutter 项目

虽然这些工具主要用于批量测试,但可以通过修改脚本或直接调用共享函数来测试单个项目:

# 导入共享函数
source /path/to/flutter_samples/tool/flutter_ci_script_shared.sh

# 测试单个项目
ci_projects "stable" "my_flutter_project"
2. 批量测试项目

使用预定义的脚本测试项目列表:

# 使用 stable 通道测试所有项目
/path/to/flutter_samples/tool/flutter_ci_script_stable.sh
3. 升级项目依赖

批量升级所有 Flutter 项目的依赖:

/path/to/flutter_samples/tool/flutter_pub_upgrade.sh
4. 平台特定测试

在 Android 平台上执行 CI 测试:

/path/to/flutter_samples/tool/android_ci_script.sh
自定义配置

可以通过修改脚本中的项目列表来自定义要测试的项目:

# 编辑 flutter_ci_script_stable.sh 文件
declare -ar PROJECT_NAMES=(
    "my_project_1"
    "my_project_2"
    "my_project_3"
)

API/命令说明

flutter_ci_script_shared.sh 核心函数

ci_projects
ci_projects "channel" "project1" "project2" ...

参数

  • channel:Flutter 通道(stable、beta、master)
  • project1, project2…:要测试的项目名称

功能

  1. 切换到指定的 Flutter 通道
  2. 为每个项目执行以下操作:
    • 运行 flutter pub get 获取依赖
    • 运行 dart analyze --fatal-infos 进行静态代码分析
    • 运行 dart format --output none --set-exit-if-changed . 检查代码格式
    • 运行 flutter test 执行项目测试

flutter_pub_upgrade.sh

功能

  • 批量升级所有 Flutter 项目的依赖
  • 运行 flutter pub upgrade 更新依赖
  • 运行 flutter pub outdated 检查过时的依赖

在鸿蒙环境中的应用

环境配置

在鸿蒙环境中使用这些 CI 工具,需要进行以下配置:

  1. 安装 Flutter
    git clone https://github.com/flutter/flutter.git -b stable
    

export PATH=“$PATH:pwd/flutter/bin”


2. **安装依赖**:
```bash
# 安装 Android SDK 和 NDK
# 安装 iOS 开发工具(如果需要)
  1. 配置 Flutter 支持鸿蒙
    # 配置 Flutter 以支持鸿蒙平台
    flutter config --enable-harmonyos
    

鸿蒙特定的 CI 流程

可以根据需要创建鸿蒙特定的 CI 脚本,例如:

#!/bin/bash

set -e

DIR="${BASH_SOURCE%/*}"
source "$DIR/flutter_ci_script_shared.sh"

flutter doctor -v

# 鸿蒙平台的 Flutter 项目列表
declare -ar HARMONYOS_PROJECTS=(
    "my_harmonyos_project_1"
    "my_harmonyos_project_2"
)

ci_projects "stable" "${HARMONYOS_PROJECTS[@]}"

echo "-- HarmonyOS CI Success --"

总结

Flutter CI Tools 是一组强大的脚本工具,可以帮助开发者自动化 Flutter 项目的测试和构建流程。这些工具支持在不同的 Flutter 通道上测试项目,自动运行静态代码分析和格式化检查,执行项目的单元测试和集成测试,以及批量升级项目依赖。

在鸿蒙环境中使用这些工具时,需要确保正确配置 Flutter 环境和开发工具链,并根据需要创建鸿蒙特定的 CI 脚本。通过使用这些工具,可以显著提高开发效率和代码质量,确保 Flutter 项目在鸿蒙平台上的稳定性和性能。

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐