日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jenkins生成APP二维码下载链接

發布時間:2023/12/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jenkins生成APP二维码下载链接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Jenkins 打包好的?apk?文件,上傳到tomcat或者httpd所在服務器,并且生成對應URL二維碼,進行掃碼下,還可以配置到釘釘機器人模板消息通知中。

一、Jenkins配置

(一)Jenkins插件安裝

Jenkins搜索插件 description setter 并安裝插件重啟jenkins

(二)修改標記格式器

1.Manage Jenkins?=> Configure Global Security =>Markup Formatter 中默認的Plain text 修改為 Safe HTML

系統管理》全局安全配置》標記格式器》純文本改為Safe HTML

(三)jenkins 配置全局環境變量

Manage jenkins-->Config System
設置全局環境變量 PYTHON,值為你的python3 的位置,一般為 bin下的python文件的路徑。

(四)二維碼生成

【Nodejs】

1.編寫JavaScript腳本

qr_test.js

//需要下載生成二維碼依賴 var qr = require('qr-image'); //文件操作依賴 var fs = require('fs'); // 接收命令行參數 let arguments = process.argv.splice(2); // 參數數組 var stringUrl = arguments[0]; // 獲取arg1 即:被轉化成二維碼內容的字符串,比如:apk下載地址 var saveQrImageUrl=arguments[1]; // 獲取arg2 即:二維碼圖片生成后保存路徑 var imageFormat= arguments[2]; // 獲取arg3 var jobName= arguments[3]; // 獲取arg4 var buildNumber= arguments[4]; // 獲取arg5 // 生成二維碼 var code = qr.image(stringUrl, { type: `${imageFormat}`, size: 10 }); console.log(code); // 生成本地文件 var pic = code.pipe(fs.createWriteStream(`${saveQrImageUrl}/${jobName}_${buildNumber}.${imageFormat}`)); // 監聽錯誤事件 pic.on('error', (err)=> {console.log(err); }); // 監聽完成事件 pic.on('finish', ()=> {console.log('二維碼生成完畢'); });

?假設:

構建打包生成的apk、ipa存放在/home/jenkins/workspace/appBuild/test.apk

生成二維碼腳本qr_test.js存放在/var/jenkins_home/workspace/rq_make

node qr_test.js "/home/jenkins/workspace/appBuild/test.apk" "/var/jenkins_home/workspace/rq_make" "png" ${JOB_NAME} ${BUILD_ID}

腳本需要傳入兩個參數

第一個參數:下載地址字符串,即jenkins構建打包生成的apk或ipa文件;

第二個參數:字符串轉為二維碼圖片保存的路徑;

第三個參數:二維碼圖片格式

第四個參數:jenkins job名稱,用于二維碼文件名稱

第五個參數:構建number,用于二維碼文件名稱

Nodejs生成二維碼圖片文件_u013302168的博客-CSDN博客https://github.com/liyinchigithub/qr_makehttps://github.com/liyinchigithub/qr_maketest2.js//需要下載生成二維碼依賴var qr = require('qr-image'); //文件操作依賴var fs = require('fs'); // 接收命令行參數let arguments = process.argv.splice(2);// 參數數組var url_string = argumehttps://blog.csdn.net/u013302168/article/details/121461813

【Python】

Window環境

1.安裝Python

安裝Python(3.7.5版本)到電腦上,例如在C:\Python37;

配置環境變量將C:\Python37和C:\Python37\Scripts添加到Path環境變量中;

2.安裝Python二維碼插件

執行命令

? pip install qrcodepip install Image

3. 編寫python腳本

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

腳本需要傳入兩個參數

第一個參數:下載地址字符串,即jenkins構建打包生成的apk或ipa文件;

第二個參數:字符串轉為二維碼圖片保存的路徑;

4.jenkins中調用腳本生成二維碼

windows批處理文件

set BASE_PATH=%TOMCAT_HOME%\webapps\apk\%BUILD_ID% set BASE_URL=http://192.168.0.102:8080/apk/%BUILD_ID% mkdir %BASE_PATH% copy %WORKSPACE%\app\build\outputs\apk\debug\*.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:\jack\software\apache-tomcat-7.0.70\webapps\apk\82,BUILD_ID為jenkins自帶的環境變量,表示此次構建生成的ID

(2)設置變量BASE_URL為apk對外的訪問路徑,即鏈接地址。

例如:http://192.168.0.102:8080/apk/82

(3)創建目錄

例如:D:\jack\software\apache-tomcat-7.0.70\webapps\apk\82

(4)復制打包的apk到tomcat指定目錄下(需要開放tomcat端口)

(5)調用python腳本,生成二維碼圖片

(6)打印二維碼信息到log中,供后面的步驟使用

5.jenkins job 在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 sysdata=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)

總結

以上是生活随笔為你收集整理的Jenkins生成APP二维码下载链接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。