jenkins 本地二维码生成 高级篇

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/o279642707/article/details/80845185

前沿

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

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

思路:

  1. gradle build 脚本 生成apk 文件
  2. 利用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 文件夹下。
  2. 使用 QRcode.jar 对tomcat\webapp 下的最新apk路径进行二维码生成图片。提供外部进行下载
  3. 能够完成上面四个步骤,就算完成了

    早期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文件

这里模式使用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. jobs 位置
  2. workspace位置
  3. 自定义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"
    }
}]

每次 “path”: “npl-2.0.9-062716-debug.apk”, 的名称是动态变化的。 npl-2.0.9-062716-debug.apk 是gradle脚本定义的输出格式。

  1. 配置jenkins

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

    这里写图片描述

配置build description

这里写图片描述

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

喏,就是这么简单
这里写图片描述

  1. 当然不通过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

注意;image=npl.png ,可以指定一个icon作为装饰使用

这里写图片描述

有问题 @ 我

引用

jq 处理 http://www.cnblogs.com/lurenjiashuo/p/bash-json-jq.html
linux 命令 https://blog.csdn.net/u011641885/article/details/45559031

猜你喜欢

转载自blog.csdn.net/o279642707/article/details/80845185