一、基础环境配置
- 签名证书管理
// harmony-signing-config.gradle
android {
signingConfigs {
release {
storeFile file("harmony.keystore")
storePassword System.env.STORE_PWD // 从CI环境变量读取
keyAlias "release"
keyPassword System.env.KEY_PWD
signAlg "SHA256withECDSA" // 鸿蒙强制签名算法
profile file("release.p7b") // 证书Profile文件
}
}
}
通过环境变量注入密钥信息保障安全
- 构建环境容器化
# Dockerfile 基础镜像
FROM ubuntu:22.04
RUN apt-get install -y openjdk-17-jdk nodejs
COPY harmony-sdk /opt/harmony
ENV PATH="/opt/harmony/tools:$PATH"
容器化构建使环境标准化,效率提升40%
二、分层测试策略
- 单元测试集成
# 执行所有模块的Local Test
hvigorw test -p coverage=true -p ohos-test-coverage=true
测试报告路径:module/.test/default/outputs/ohosTest/reports
- 真机云测试触发
# .gitlab-ci.yml 配置片段
stages:
- test
cloud_test:
stage: test
script:
- agc cloud-test run
--appId $AGC_APP_ID
--file build/outputs/app.hap
--device-file test/devices.json
--report-dir ./reports
artifacts:
paths:
- ./reports/
支持JSON文件定义测试设备池
三、自动化部署流程
- 构建优化配置
# 多模块并行编译
hvigorw assembleHap -p product=default --parallel --daemon
通过--parallel参数实现编译加速
- 应用发布流水线
// Jenkinsfile 部署阶段
stage('Deploy') {
steps {
sh '''hvigorw publish
-p channel=appgallery
-p releaseType=PROD
-p changelog="CI Build ${env.BUILD_NUMBER}"'''
}
}
支持自动生成版本更新日志
四、关键质量保障
- 熔断机制配置
// test_policy.json
{
"performance": {
"maxColdLaunchTime": 1500,
"maxMemoryUsage": 800
},
"autoRetry": {
"anrThreshold": 3,
"crashThreshold": 2
}
}
异常超限自动停止任务
- 测试报告整合
# 合并多设备测试结果
agc cloud-test merge-reports
--input-dir ./reports
--output-file full_report.html
生成跨设备兼容性分析图表
五、最佳实践数据
某电商应用实施后效果:
- 构建耗时:从12分钟→3.5分钟
- 设备兼容问题:减少83%
- 热更新包体积:≤1.2MB
- 百台设备并发测试:23分钟完成全量验证
通过该方案可实现:
- 代码提交到应用上架全流程自动化
- 多维度质量门禁自动拦截缺陷
- 测试资源智能调度(华为云支持临时扩展至200+设备)