当前位置: 首页 > news >正文

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 
http://www.lryc.cn/news/613406.html

相关文章:

  • Linux中进程地址空间
  • 2025 年华数杯全国大学生数学建模竞赛C 题 可调控生物节律的 LED 光源研究--完整成品、思路、模型、代码、结果分享
  • GPT-5即将来袭,AI新时代要变天?
  • Redis实战(8) -- 分布式锁Redission底层机制
  • LVDS系列24:Xilinx Ultrascale系ISERDESE3原语(二)
  • 【数据结构——并查集】
  • 批量获取亚马逊商品SKU商品规格调用流程
  • 哈勃网络计划大规模升级卫星以创建全球蓝牙层
  • 哈希表——指针数组与单向链表的结合
  • [Oracle] FLOOR()函数
  • 2025最新国内服务器可用docker源仓库地址大全(2025年8月更新)
  • 上海一家机器人IPO核心零部件依赖外购, 募投计划频繁修改引疑
  • 【Linux基础知识系列】第八十八篇 - 使用du命令分析文件和目录大小
  • 如何解决用阿里云效流水线持续集成部署Nuxt静态应用时流程卡住,进行不下去的问题
  • 硬盘哨兵pe版本 v25.70.6 中文免费版
  • openGauss3.10企业版单机部署(openEuler20.03 SP3)
  • RP2040下的I2S Slave Out,PIO状态机(四)
  • HMC1119LP4METR ADI亚德诺 高频功率放大器 MMIC集成电路IC
  • 自动化测试篇--BUG篇
  • Android-Kotlin基础(Jetpack④-Room)
  • RepoCoder:仓库级代码补全的迭代检索生成框架解析与应用前沿
  • 前缀和
  • 网卡名eth1、em1 、eno1、ens1 的区别
  • C++ vector 扩容时到底发生了什么?
  • 纯本地AI知识库搭建:DeepSeek-R1+AnythingLLM全流程
  • priority_queue的使用和模拟
  • Kotlin中String的==相等比较符
  • C语言sprintf、strcmp、strcpy、strcat函数详解:字符串操作的核心工具
  • 「日拱一码」045 机器学习-因果发现算法
  • 力扣238:除自身之外数组的乘积