文档章节

jenkins 本地二维码生成 高级篇

shzwork
 shzwork
发布于 05/20 09:06
字数 996
阅读 18
收藏 0

前沿

由于公司做的是金融产品,考虑到安全问题,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 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文转载自:https://blog.csdn.net/o279642707/article/details/80845185

shzwork
粉丝 11
博文 595
码字总数 10198
作品 0
厦门
私信 提问
Android直接用手机打包apk!

你没有看错,用手机浏览器访问Jenkins,就可以打包apk,并生成下载二维码,发送邮件通知测试人员下载,从此解放双手,告别打包测试。先上本人手机邮箱收到的打包成功通知效果图: 废话少说,...

Zachary46
2018/08/01
0
0
手摸手聊聊小程序持续集成Jenkins

本文首发在我的github博客 github.com/Pasoul/blog… ,感兴趣的同学可以点个star,不要迷路哦~ 我们为什么要持续集成? 试想以下两个场景: 场景一:你在开发新功能的时候,同事A找你要小程...

Pasoul
01/09
0
0
从零开始搭建一个简单的ui自动化测试框架04(pytest+selenium+allure)

四、自动化测试的持续集成(pytest+allure2+jenkins) 为什么要实现持续集成 回顾一下,先期我们所做的已经可以实现一个挺完整的测试过程了,从用例的管理到执行到报告的发送都可以实现,但目...

icesword
2017/11/27
0
0
4、Jenkins 使用maven构建一个项目

一、使用maven构建项目的前提: 请确保jenkins服务器上安装配置了maven软件,如果不清楚如何安装配置,请参考前面第二篇jenkins的安装配置。 二、如何构建一个项目 登录jenkins服务器,在主页...

余二五
2017/11/15
0
0
Gitlab+jenkins持续集成+自动化部署(三)

搭建gitlab+Jenkins自动化部署 在jenkins上安装插件 Build Authorization Token Root Plugin、 Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、 在系统管理-->......

攀岩人生
2018/07/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Taro ScrollView 组件的 scrollTop 属性是个坑

官方issue:ScrollView设置scrollTop没效果 同样的,设置 scrollTop=0 并不能实现置顶,官方回复早就修复了,我的 Taro 版本已经是最新的,然而并未修复。 万能的评论区,给出了失效的原因。...

dkvirus
28分钟前
3
0
Qt那些事0.0.21

这次还是关于PRO文件中QMAKE_POST_LINK的故事。 平时都是使用VS2015作为编译器,恰巧想用MinGW编一版程序,结果偏偏出现了错误。话说测试的这个项目可是在Linux下(fodera 20)可以正确编译通...

Ev4n
38分钟前
0
0
OSChina 周六乱弹 —— 抖音外放 亲妈下葬。

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :一直没想明白黎明是怎么混进「四大天王」的,直到最近网易云音乐心动模式开启之后 #今日歌曲推荐# 《那有一天不想你》- 黎明 手机...

小小编辑
今天
349
8
Linux使用源码包安装软件

前言: 最近整理一些以前的学习笔记。 过去都是存储在本地,此次传到网络留待备用。 源码包 Linux软件多数免费、开源,是开发人员编写的,具有很强可读性的一组相关代码文本。 源码包 --> 编...

迷失De挣扎
今天
6
0
IPv4如何转换为IPv6?

ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv6相关计...

xiangyunyan
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部