概述
上一篇我們已經(jīng)把Jenkins 打包好的 apk
文件上傳到tomcat服務(wù)器庵楷,可以提供下載了。但這個下載需要手動去點擊,才能下載尽纽。而現(xiàn)在的人又都那么懶咐蚯,最好的下載方式當(dāng)然是掃個二維碼就能下載。
生成二維碼工具
我們這里使用 qrcode,這是個python
開源庫弄贿。具體使用方法可以看官方文檔春锋。關(guān)于怎么安裝 python
,作為程序員差凹,我想自己搞定吧期奔。不過好多人推薦這個教程,我也貼在這吧,這是windows
平臺的危尿。說下使用這個庫的注意事項呐萌,如下。
- 這個庫使用的
python3
,所以不要裝錯了谊娇。 -
qrcode 會使用到
PIL
這個圖片處理庫肺孤。但這個庫只支持到python2
,python3
應(yīng)該安裝Pillow
這個庫济欢,可參考python 安裝PIL . - 不需要安裝 qrcode 赠堵。把代碼
clone
下來就OK了。我們采用執(zhí)行腳本的形式生成二維碼船逮。當(dāng)然你也可以用其他方式生成二維碼顾腊。
jenkins 配置全局環(huán)境變量
Manage jenkins
-->Config System
設(shè)置全局環(huán)境變量 PYTHON
,值為你的python3
的位置。一般為 bin
下的python
文件的路徑挖胃。
執(zhí)行腳本生成對應(yīng)二維碼
增加構(gòu)建信息
找到對應(yīng)的項目杂靶,點擊配置。選擇構(gòu)建菜單酱鸭,新增Execute shell
,如下吗垮。
當(dāng)然如果你是
Windows
環(huán)境可能需要新增的是Execute Windows batch command
腳本組成
下面來看下腳本的組成,先貼上腳本代碼凹髓。如下
xx/xx/bin/python /Users/tuoanlan/Developer/python_code/qrcode/myqr.py http://142.34.330.921:8080/apk/${BUILD_TIME}/JenkinsTest-v${APP_VERSION_NAME}-${PRODUCT_FLAVORS}-${BUILD_TYPE}.apk -v 7 -n jenkins.png -p /Users/zhang/Developer/python_code/qrcode/timo.jpg -c -con 1.5 -bri 1.6 -l L -d app/build/outputs/release/${BUILD_TIME}
第一段
xx/xx/bin/python
:是我的python3
的全路徑(雖然我這里設(shè)置了全局變量烁登,但不生效,和我conda
環(huán)境有關(guān)。因為我的shell
使用conda
控制環(huán)境的蔚舀,而啟動shell
就會啟用基礎(chǔ)環(huán)境饵沧,所以我這里使用的是全路徑。)第二段
/Users/zhang/Developer/python_code/qrcode/myqr.py
:是myqr.py
腳本的路徑赌躺。myqr.py
是我們clone
下來的qrcode
倉庫下的一個腳本狼牺。-
接下來的參數(shù)都是調(diào)用
myqr.py
腳本,需要傳的參數(shù)礼患。詳情可見 qrcode 使用說明-
http://134.14.232.201:8080/apk/JenkinsTest-v${APP_VERSION_NAME}-${PRODUCT_FLAVORS}-${BUILD_TYPE}.apk
是拼接的apk
的下載地址是钥。也就是掃描二維碼后指向的地址掠归。 -
-v 7
控制邊長,二維碼的邊長 -
-l L
糾錯等級悄泥,L
是最低 -
-d app/build/outputs/release/${BUILD_TIME}
指定二維碼圖片的存放路徑虏冻。 -
-p /Users/zhang/Developer/python_code/qrcode/tim.jpg
指定二維碼中的圖片 -
-c
二維碼中圖片顯示為彩色 -
-con 1.5
調(diào)節(jié)圖片的對比度為1.5,默認(rèn)為1 -
-bri 1.6
調(diào)節(jié)圖片的亮度 -
-n xxxx.png
指定生成二維碼圖片的名稱弹囚。 - 如果未指定厨相,生成的二維碼圖片默認(rèn)名稱為
qrcode.png
- 如果你指定了圖片,如
github.jpg
,但未指定二維碼圖片名稱。那么生成的二維碼圖片名稱默認(rèn)為github_qrcode.png
需要注意噢余寥!领铐,所以建議指定下二維碼圖片的名稱
到這里我們執(zhí)行構(gòu)建就能生成二維碼的圖片了悯森。但是這個圖片在app/build/outputs/release
下宋舷,每次還要找到這個文件然后掃碼。
-
注意:如果你是 Windows
環(huán)境瓢姻。那么拼接apk
下載鏈接的時候祝蝠。可能需要使用%%
獲取動態(tài)參數(shù)幻碱。如${APP_VERSION_NAME}
绎狭,在Windows平臺,則應(yīng)該使用%APP_VERSION_NAME%
這種方式獲取褥傍。
顯示二維碼
效果如下儡嘶,在構(gòu)建歷史中就可以看到二維碼,可掃碼下載恍风,也可以點擊下載蹦狂。
第一步: 設(shè)置標(biāo)記格式器(Markup Formatter)
首先需要修改設(shè)置,將標(biāo)記格式器設(shè)置為 Safe HTML
朋贬,步驟如下凯楔。
Manager Jenkins
-->Configure Global Security
-->標(biāo)記格式器(Markup Formatter)
更改為 Safe HTML
,如下圖所示
第二步:添加構(gòu)建后操作
添加 Set build description
找到需要添加的項目锦募,點擊配置摆屯,然后點擊構(gòu)建后操作菜單 。然后增加 Set build description
,如下所示糠亩。
設(shè)置 description
在Description
框中輸入如下html
<img src='http://localhost:8080/me/my-views/view/all/job/${JOB_NAME}/${BUILD_NUMBER}/artifact/app/build/outputs/release/qrcode.png' width=200px height=200px> <br> <a >點擊下載 JenkinsTest-v${APP_VERSION_NAME}-${PRODUCT_FLAVORS}-${BUILD_TYPE}.apk-</a>
下面分開來看下每個標(biāo)簽的意思虐骑。
-
<img>
標(biāo)簽,src
指定的是二維碼圖片的路徑赎线,當(dāng)然也是需要拼接的⊥⒚唬現(xiàn)在我們使用的是本地的二維碼圖片地址。之后我們會把二維碼和apk
包都上傳到文件服務(wù)器氛驮,到時這里會拼接二維碼圖片在服務(wù)器上的地址腕柜。關(guān)于如何上傳apk
和二維碼圖片到服務(wù)器可參考 jenkins 系列 - 安裝包上傳到 tomcat 并提供下載。
<img src='http://localhost:8080/me/my-views/view/all/job/${JOB_NAME}/${BUILD_NUMBER}/artifact/app/build/outputs/release/qrcode.png' width=200px height=200px>
-
<br>
換行,不用說了吧盏缤。 -
<a>
標(biāo)簽 砰蠢,地址為apk
在服務(wù)器上的下載地址,顯示為點擊下載 加apk 的拼接名稱
唉铜,如下台舱。
<a >點擊下載 JenkinsTest-v${APP_VERSION_NAME}-${PRODUCT_FLAVORS}-${BUILD_TYPE}.apk-</a>
保存后構(gòu)建就可以達(dá)到上圖所示的效果。
總結(jié)
- 首先是
python
的安裝潭流,并增加Pillow
庫竞惋。 -
qrcode庫的代碼
clone
下來。 - 配置全局環(huán)境變量灰嫉,增加
PYTHON
環(huán)境變量 - 在構(gòu)建模塊中使用腳本生成二維碼
- 在構(gòu)建后操作中增加
Set build description
下一篇
下一篇會說下如何在構(gòu)建完成后拆宛,通過郵件通知相關(guān)人員。他們可以通過掃二維碼下載讼撒,或點擊下載浑厚。