jenkins 本地二维码生成 高级篇

守給你的承諾、 提交于 2020-03-02 07:19:57

前沿

由于公司做的是金融产品,考虑到安全问题,apk包不准备运用蒲公英或者fir.im 这些三方平台,以免被泄露。(前段时间蒲公英平台发布公告,禁止金融类app上传分发)。其他原因,利用业务时间研究下。

window 7 64 
服务器 linux 64 
tomcat 8 
Jenkins ver. 2.60.3 (稳定)

思路:

gradle build 脚本 生成apk 文件
利用linux 命令 获得 apk 文件名称,这里使用 jq 工具解析 app\build\output\debug\output.json,得到apk文件名称。
格式:  java -jar xxx\QRcode.jar url=xx\Htun_1.0.2_062711_debug.apk image=latestapk.jpg save=xxx\1.jpg
1
自定义ssh 脚本对生成的apk文件进行拷贝,移动,重命名,最后将重命名的apk文件放入tomacat 服务器下的webapp 文件夹下。
使用 QRcode.jar 对tomcat\webapp 下的最新apk路径进行二维码生成图片。提供外部进行下载
能够完成上面四个步骤,就算完成了

早期blog :jenkins发布apk到三方应用平台 
https://blog.csdn.net/o279642707/article/details/78732387

前提是jenkins正常安装,并且可以使用的情况下。为满足该条件,需要提前学习下jenkins基础知识

步骤1
使用gradle脚本进行打包

build 命令可以生成debug 和 resease apk。如果指定生成debug或者resease apk文件,需要指定命令

assemble debug  生成debug apk文件

assemble Release 生成Release apk文件
1
2
3
这里模式使用debug方式

步骤2
jenkins生成物位置在jobs中

这里贴上ssh命令


# pass parameter use gen apk


pathApk=$1  # 接受外部参数


# 取出来最新打的包,进行复制到指定路径
cd $BASEAPK  # 进入output\debug 路径下

ApkName=$(jq -r  .[0].path  /root/.jenkins2/jobs/npl/workspace/app/build/outputs/apk/debug/output.json) # 使用 jq 工具解析android studio 生成的json获取apk名称

echo $ApkName #打印

cp $pathApk/$ApkName  $pathApk/npl.apk  #进行apk 拷贝,linux 命令

mv -f $pathApk/npl.apk  /usr/tomcat/apache-tomcat-8.0.36/webapps/apk/ # 移动到tomcat 路径下

java -jar /usr/local/android/qrtools/QRcode.jar url=http://10.7.0.201:8080/apk/npl.apk image=latestapk.jpg save=/usr/tomcat/apache-tomcat-8.0.36/webapps/examples/image  # 使用二维码生成jar 生成二维码


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
服务器上文件夹位置 


jobs 位置
workspace位置
自定义ssh脚本,关于打多渠道包的,关于生成二维码的,以及蒲公英下载待json
以下是output.json 格式

[{
    "outputType": {
        "type": "APK"
    },
    "apkInfo": {
        "type": "MAIN",
        "splits": [],
        "versionCode": 17
    },
    "path": "npl-2.0.9-062716-debug.apk",
    "properties": {
        "packageId": "com.nuoyuan.npl",
        "split": "",
        "minSdkVersion": "14"
    }
}]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
每次 “path”: “npl-2.0.9-062716-debug.apk”, 的名称是动态变化的。 npl-2.0.9-062716-debug.apk 是gradle脚本定义的输出格式。

配置jenkins

下载过Html publish 插件后,记得修改Markup Formatter 格式为safe HTML,才可以解析 html标签语法

配置build description

注意:这里由于是演示使用,直接写死二维码路径,后期可以优化为动态的

喏,就是这么简单 


当然不通过jenkins也是可以下载的! 界面比较low,将就着看吧。


这样一个简单的本地二维扫描下载完成。

用到工具包下载地址 QRcode.jar

语法:

java -jar QRcode.jar url=http://10.7.0.201:8080/apk/$ApkName image=npl.png save=/usr/tomcat/apache-tomcat-8.0.36/webapps/examples/image
1
注意;image=npl.png ,可以指定一个icon作为装饰使用

有问题 @ 我

引用

jq 处理 http://www.cnblogs.com/lurenjiashuo/p/bash-json-jq.html 
linux 命令 https://blog.csdn.net/u011641885/article/details/45559031
--------------------- 
作者:_卫超 
来源:CSDN 
原文:https://blog.csdn.net/o279642707/article/details/80845185 
版权声明:本文为博主原创文章,转载请附上博文链接!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!