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