DevOps平台结合Gradle实现打包流水线
在现代软件开发中,持续集成与持续交付(CI/CD)已成为团队提速、降本增效的核心实践。Gradle作为强大的自动化构建工具,常被用于Android与Java项目的构建打包任务。而将Gradle集成进企业的DevOps平台中,不仅可以标准化构建过程,还能自动化打包、测试、发布的全流程,大幅提升效率。
本文将介绍如何将Gradle构建流程集成到DevOps平台中,构建一条高效、可靠的打包流水线。
以蓝鲸DevOps平台为例
这是构建流水线的执行图。
公共目录和配置
echo 'action time'
dateif [ -z "$branch" ]; thenecho '未选择git分支'exit 125
ficd /opt/sdk/build-tools/30.0.0
pwd
chmod 777 zipalign
chmod 777 apksignercd ${WORKSPACE}
pwdecho 'clean ./apk'
rm -rf apkecho 'create ./apk'
mkdir -p ./apkecho 'clean ./aab'
rm -rf aabecho 'create ./aab'
mkdir -p ./aabecho 'set local.properties'
echo 'sdk.dir=/opt/sdk' > local.propertiesls -al
分渠道打包配置
核心是给环境变量赋值:
set -ex
echo ${channel}if echo ${channel} | grep -q "官网"; thensetEnv "offical" "true"
elsesetEnv "offical" "false"
fiif echo ${channel} | grep -q "小米"; thensetEnv "xiaomi" "true"
elsesetEnv "xiaomi" "false"
fiecho "xiaomi: ${xiaomi}"if echo ${channel} | grep -q "华为"; thensetEnv "huawei" "true"
elsesetEnv "huawei" "false"
fiecho "huawei: ${huawei}"if echo ${channel} | grep -q "oppo"; thensetEnv "oppo" "true"
elsesetEnv "oppo" "false"
fiecho "oppo: ${oppo}"if echo ${channel} | grep -q "vivo"; thensetEnv "vivo" "true"
elsesetEnv "vivo" "false"
fiecho "vivo: ${vivo}"if echo ${channel} | grep