android应用的持续构建CI(二)-- jenkins集成

一、背景

接着上一篇文章,本文我们将使用jenkins把所有的流程串起来。

略去了对android应用的加固流程,重点是jenkins的job该如何配置。

二、配置jenkins job

0、新建job

选择一个自由风格的软件项目

1、参数赋值

你可以增加许多参数,这里以apkName为例,讲述后面的shell命令中,该如何引用该变量。

引用job参数的语法格式是$ + { + 参数名 + },比如:

bash 复制代码
${apkName}

2、拉取git工程的代码

在source code management中选择Git,并配置以下内容:

  • 填写代码仓库的地址
  • 选择拉取代码的凭证
  • 填写代码的分支

3、Build准备

通过shell命令,生成keystrore证书文件,保存在Jenkins服务器。证书文件交给下一步的build所使用。

keystore.sh是我们封装的shell命令。

4、Build

选择对应的gradle版本,加上构建的详细参数。

记得勾选 "Pass job parameters as Gradle properties",把jenkins job的参数作为gralde的构建参数。

最后执行的命令为:

4、上传APK至管理后台

本质是调用管理后台的接口,把构建好的apk文件上传给对方。

rsync_upload_idc70_new.sh是我们封装的shell命令。

核心的上传文件命令见下:

bash 复制代码
curl -F 'appCode=xxx' -F 'userType=4' -F 'file=@/opt/apk/2024-03-08/xxx.apk' http://192.168.xx.xx:8080/api/v1/app/upload
  • 使用curl上传apk的过程中,见下图所示:

三、总结

本文梳理了jenkins如何集成各个技术组件,构建android应用,并上传到管理后台的整个流图。

相关推荐
阳光九叶草LXGZXJ13 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
daidaidaiyu14 小时前
ThingsBoard 集群的核心逻辑源码分析
java
黄大刀14 小时前
DataPulse一款开箱即用的SCADA(四)-历史记录
运维·scada·动环
我可能是个假开发15 小时前
FTP Unicode 文件名导致 `550` 的问题分析与解决方案
java·开发语言·spring
caoerzhong15 小时前
中小企业上 WMS 该先上哪几块:JeeWMS 开源 Java 仓库管理系统的分批上线清单
java·python·开源
【JAVA】玩家16 小时前
Spring核心原理全解析:从零到生产实战
java·后端·spring
归秋14216 小时前
2026 企业 AI 办公工具选型指南:从评估框架到产品适配
大数据·运维·人工智能
Android系统攻城狮16 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
Wang's Blog17 小时前
Java框架 SpringCloud 快速入门: 实现 Feign 最佳实践(抽取方式)
java·spring cloud
MandalaO_O17 小时前
IDEA 开发(快捷键 + 调试 + 序列化)
java·ide·intellij-idea