在現代軟件開發中,持續集成與持續交付(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