二维码生成配置

http-server(MAC)

检测 node -v、npm -v 然后安装http-server

npm install http-server -g

启动服务“http-server -p 8000” 设置端口为8000.避免jenkins端口冲突
在/Users/XXX/Public 目录下面建立jenkins目录,把构建后的apk复制到/Users/XXX/Public/jenkins/apk/目录下面
然后把二维码图片也复制到/Users/XXX/Public/jenkins

为什么要http-server服务

因为在jenkins里的图片在邮件里是没有办法直接显示的。必须要有一个没有拦截的访问路径。以避开jenkins的用户验证。同理apk的下载也是如此
不过一般都是部署在局域网内。安全性还是有保障的。如果要发布到外网的可以使用第三方服务上传apk包生成公网下载二维码。

安装pip(MAC)(python>3.1)[如果版本不够看”其他“]

sudo easy_install pip

mac下安装pip

windows下面安装Python和pip终极教程

安装myqr

命令1:pip install Pillow (失败)
命令2:pip install -I --no-cache-dir -v Pillow (成功)
至于为什么失败,解释颇多也不想深究。暂且都记上多试试。
安装qrcode 命令:pip install myqr

生成二维码命令
myqr http://localhost:8000/jenkins/apk/XXXX.apk -n jenkins-qrcode-${JOB_NAME}.png -v 1 -l L -d /Users/XXX/Public/jenkins

Jenkins邮件通知配置

在邮件配置content字段里添加

<img src="http://localhost:8000/jenkins/jenkins-qrcode-${JOB_NAME}.png " width="200px" height="200px" /></br></hr>
<a href='http://localhost:8000/jenkins/apk/XXXX.apk'>点击下载apk</a>

邮件通知配置样例
<hr/>

(本邮件是程序自动下发的,请勿回复!)<br/><hr/>项目名称:$PROJECT_NAME<br/><hr/>构建编号:$BUILD_NUMBER<br/><hr/>构建状态:$BUILD_STATUS<br/><hr/>触发原因:${CAUSE}<br/><hr/>扫描二维码下载<img src="http://192.168.10.214:8000/JenkinsApk/jenkins-qrcode-${JOB_NAME}.png" width="200px" height="200px"/> <br/><hr/>
<a href="http://192.168.10.214:8000/JenkinsApk/apk/${JOB_NAME}-Debug-${BUILD_NUMBER}.apk">点击下载${JOB_NAME}-Debug-${BUILD_NUMBER}.apk</a><br/><hr/>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>

参考:
https://www.jianshu.com/p/915c1ae69144

其他

【MAC】

“OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/PIL'”

使用 sudo pip install -I --no-cache-dir -v Pillow 命令安装

mac OSError: [Errno 1] Operation not permitted: '/tmp/pip-ZaNR4Q-uninstall/System/Library/Frameworks

升级python 版本

$ pip install --upgrade pip
$ sudo pip install numpy --upgrade --ignore-installed
$ sudo pip install scipy --upgrade --ignore-installed
$ sudo pip install scikit-learn --upgrade --ignore-installed

参考https://www.jianshu.com/p/7a18c78b5982

OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/imageio-2.3.0.dist-info'
解决方法:
sudo pip install myqr

matplotlib 1.3.1 requires nose, which is not installed.
matplotlib 1.3.1 requires tornado, which is not installed.

解决方法:运行sudo pip install matplotlib

联系我

Email:lichongmac@163.com

支付宝打赏:https://pan.baidu.com/s/1UMWjU1FHv7hYpdlcCQrJ3A

微信打赏:https://pan.baidu.com/s/1dSBXk3eFZu3mAMkw3xu9KQ

公众号推荐:

转载于:https://blog.51cto.com/4789781/2092127

【Jenkins】构建后生成下载二维码并邮件通知相关推荐

  1. 【Vue+Java】前后端联动生成下载二维码

    目录指引 背景 运用场景 环境 丑话说在前 前端部分 通过axios请求传参 二次封装axios.create方法 定义download方法,通过axios进行传参 前端vue页面方法 HTML部分按 ...

  2. vue 动态生成下载二维码

    菜花记录 vue项目如何动态生成一个下载二维码 项目中二维码动态配置好下载链接,现场直接修改配置就可以调试 第一步先直接在终端下载vue插件 npm install vue-qriously --sa ...

  3. html动态生成下载二维码

    一,引包 <script src="js/jquery.qrcode.min.js"></script> <script src="js/j ...

  4. vue生成app二维码,并扫码下载app

    文章目录 项目需求 开发 web官网下载页的开发 web官网地址生成下载二维码 项目需求 公司要做一个web官网的下载页面,功能是微信扫码可以直接下载Ios手机端app.Android手机端app.及 ...

  5. 视频转二维码怎么操作?简单一步在线生成视频二维码

    当今各种各样的视频.电影.电视剧短视频等丰富这我们的生活.但是视频的体积一般都比较大不方便保存和传播,这时候我们就可以把视频.电影等做成二维码图片.扫一扫就能随时随地的观看,非常的方便.那么,要怎么操 ...

  6. python3使用myqr生成链接二维码

    技术背景 二维码技术在各个领域中都已经有非常成熟的应用,比如随处可见的二维码支付,比如疫情期间的绿码,再比如工业领域中,可以使用二维码作为定位的标签,大大提升了室内定位技术的精确度.二维码的格式内容大 ...

  7. QRCode 生成和下载二维码

    使用注意事项: 1.url必须带通信协议 2.生成二维码前必须先清空二维码,不然会重复生成二维码(文章最后) 1.引入插件QRCode QRCode.js 是一个用于生成二维码的 JavaScript ...

  8. java+vue的二维码生成,二维码上传服务器,二维码的压缩包下载

    一. vue页面生成二维码 <template><div class="app-container">//在页面放着二维码的div<div id=&q ...

  9. vue批量生成二维码,打印生成的二维码,并批量下载生成的二维码,qrcode

    通过使用 qrcode 生成二维码, 使用 jszip 打包批量二维码文件, 使用 file-saver 下载打包好的zip文件, 使用 vue-print-nb 打印生成的二维码 生成二维码: 打印 ...

  10. Java以IO流和文件流,生成、下载二维码

    场景 在系统中生成一个二维码,用户保存下来并分享出去,其他人扫描之后跳到我们的一个活动详情页,查看此活动的内容. 从以上的需求中,可以提炼出以下几点: 当用户点击生成二维码的时候,我们要拿到用户生成的 ...

最新文章

  1. Apollo分布式配置中心在java的简单实现
  2. win10 64位下运行汇编
  3. 【CCF】201812-2小明放学
  4. 堆、队列、栈、链表对比
  5. 新增10亿元作支持 重庆将多举措提升科技创新能力
  6. eprime2.0 倒计时功能
  7. 线性代数知识框架梳理
  8. c语言结构体stamp是什么意思,stamp是什么意思
  9. Linux下定时备份数据库
  10. SPSS一元线性回归
  11. 一文读懂HTTP, HTTPS, SSL和TLS
  12. Oracle数据库的毗邻
  13. 大众还是小众?谁在助力《复联3》连破票房纪录
  14. C++求解圆心、半径、直线与圆交点
  15. 读英语计算机书籍读后感,英文书读后感范文(精选4篇)
  16. OWC绘图控件研究(轉)
  17. 搭建webassembly网页播放器(五)---网页播放器开发
  18. 「制作U盘系统」”安装 Linux Ubuntu系统到移动硬盘“教程
  19. [蓝桥杯2018初赛]倍数问题
  20. 鲁菜之乡云食安 v1.5.7

热门文章

  1. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(八):MyBatis分页功能实现
  2. 一些比较隐秘的OJ的网址
  3. Linux的cat命令详解
  4. 日常---区域赛临近
  5. Android手机root概念
  6. 转:《潜伏》映射办公室潜规则
  7. Baidu 人脸识别FireFly 与PC连接调试
  8. PKIX path building failed
  9. Java:String和Date、Timestamp之间的转换
  10. 利用NSFileManager获取文件(文件夹)列表