zoukankan      html  css  js  c++  java
  • Jenkins生成APK链接的二维码

    Jenkins配置

    1. 安装插件description setter plugin

    2. Manage Jenkins => Configure Global Security =>Markup Formatter 中默认的Plain text 修改为 Safe HTML

    Window环境

    1.下载安装Python如3.7.5版本,安装Python到电脑上如C:Python37,将C:Python37,C:Python37Scripts添加到Path环境变量中

    2.安装Python二维码插件,命令如下:

      pip install qrcode
      pip install Image

    3. 编写python脚本,如下:

    import qrcode
    import sys
    data = sys.argv[1]
    path=sys.argv[2]
    img = qrcode.make(data)
    img.save(path)

    此脚本传入两个参数,第一个参数为下载地址字符串,第二个参数为二维码图片保存路径

    4.在jenkins中调用脚本生成二维码

    Widows bat批处理如下:

    set BASE_PATH=%TOMCAT_HOME%webappsapk%BUILD_ID%
    set BASE_URL=http://192.168.0.102:8080/apk/%BUILD_ID%
    mkdir %BASE_PATH%
    copy %WORKSPACE%appuildoutputsapkdebug*.apk %BASE_PATH%
    python D:myqrcode.py %BASE_URL%/app-debug.apk %BASE_PATH%qrcode.png
    echo DESC_INFO:%BASE_URL%/qrcode.png,%BASE_URL%/app-debug.apk

     Linux Shell脚本如下:

    BASE_PATH=${TOMCAT_HOME}/webapps/apk/${BUILD_ID}
    BASE_URL=http://192.168.0.102:8080/apk/${BUILD_ID}
    mkdir ${BASE_PATH}
    cp ${WORKSPACE}/app/build/outputs/apk/release/*.apk ${BASE_PATH}
    python /root/app/myqrcode.py ${BASE_URL}/app-debug.apk ${BASE_PATH}/qrcode.png 
    echo DESC_INFO:${BASE_URL}/qrcode.png,${BASE_URL}/app-debug.apk

    上面的命令做了以下事情:

    (1)设置变量BASE_PATH为apk的输出路径,即将apk文件在Tomcat下的路径,如D:jacksoftwareapache-tomcat-7.0.70webappsapk82,BUILD_ID为jenkins自带的环境变量,表示此次构建生成的ID

    (2)设置变量BASE_URL为apk对外的访问路径,即链接地址,如http://192.168.0.102:8080/apk/82

    (3)创建目录,如D:jacksoftwareapache-tomcat-7.0.70webappsapk82

    (4)复制打包的apk到tomcat指定目录下

    (5)调用python脚本,生成二维码图片

    (6)打印二维码信息到log中,供后面的步骤使用

    5.在Add post-build aciton中选择添加set build description,如下:

    <img src="1" height="200" width="200"  /> <a href="2">点击下载</a>

     最后构建的结果如下:

    如需在二维码中添加Logo,可参考以下脚本

    from PIL import Image
    import qrcode
    import sys
    
    data=sys.argv[1]
    path=sys.argv[2]
    img=qrcode.make(data)
    
    img=img.convert("RGBA")
    icon=Image.open("xx/logo.png")
    img_w,img_h=img.size
    factor=5
    size_w=int(img_w/factor)
    size_h=int(img_h/factor)
    icon_w,icon_h=icon.size
    if icon_w>size_w:
      icon_w=size_w
    if icon_h>size_h:
      icon_h=size_h
    icon=icon.resize((icon_w,icon_h),Image.ANTIALIAS)
    w=int((img_w-icon_w)/2)
    h=int((img_h-icon_h)/2)
    icon = icon.convert("RGBA")
    img.paste(icon,(w,h),icon)
    
    img.save(path)

    生成的二维码如下:

     

  • 相关阅读:
    实习小白::(转) Cocos2d-x 3.0开发(五)关联程序逻辑与cocoStudio导出文件
    实习小白::(转)Cocos2d-x 3.0开发(六)使用cocoStudio创建一个骨骼动画
    实习小白::(转) Cocos2d-x 3.0 开发(七)在程序中处理cocoStudio导出动画
    实习小白::(转) cocos2d-x使用cocosStudio编辑的动画文件
    (转)cocos2d-x 每帧动画的播放设置一个监听函数的做法
    Filter
    使用Cookie记住用户名和密码
    动态规划
    热分布
    背包问题
  • 原文地址:https://www.cnblogs.com/rainboy2010/p/12007248.html
Copyright © 2011-2022 走看看