jenkins 系列 -- 二維碼下載安裝包

概述

上一篇我們已經(jīng)把Jenkins 打包好的 apk 文件上傳到tomcat服務(wù)器庵楷,可以提供下載了。但這個下載需要手動去點擊,才能下載尽纽。而現(xiàn)在的人又都那么懶咐蚯,最好的下載方式當(dāng)然是掃個二維碼就能下載。

生成二維碼工具

我們這里使用 qrcode,這是個python 開源庫弄贿。具體使用方法可以看官方文檔春锋。關(guān)于怎么安裝 python ,作為程序員差凹,我想自己搞定吧期奔。不過好多人推薦這個教程,我也貼在這吧,這是windows 平臺的危尿。說下使用這個庫的注意事項呐萌,如下。

  • 這個庫使用的python3,所以不要裝錯了谊娇。
  • qrcode 會使用到 PIL 這個圖片處理庫肺孤。但這個庫只支持到python2python3應(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文件的路徑挖胃。

jenkins_python_1

執(zhí)行腳本生成對應(yīng)二維碼

增加構(gòu)建信息

找到對應(yīng)的項目杂靶,點擊配置。選擇構(gòu)建菜單酱鸭,新增Execute shell,如下吗垮。

jenkins_python_2

當(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)建歷史中就可以看到二維碼,可掃碼下載恍风,也可以點擊下載蹦狂。


jenkins_python_3

第一步: 設(shè)置標(biāo)記格式器(Markup Formatter)

首先需要修改設(shè)置,將標(biāo)記格式器設(shè)置為 Safe HTML朋贬,步驟如下凯楔。
Manager Jenkins-->Configure Global Security-->標(biāo)記格式器(Markup Formatter) 更改為 Safe HTML,如下圖所示

image

第二步:添加構(gòu)建后操作

添加 Set build description

找到需要添加的項目锦募,點擊配置摆屯,然后點擊構(gòu)建后操作菜單 。然后增加 Set build description,如下所示糠亩。

jenkins_python_4

設(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)人員。他們可以通過掃二維碼下載讼撒,或點擊下載浑厚。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市根盒,隨后出現(xiàn)的幾起案子钳幅,更是在濱河造成了極大的恐慌,老刑警劉巖炎滞,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件敢艰,死亡現(xiàn)場離奇詭異,居然都是意外死亡册赛,警方通過查閱死者的電腦和手機(jī)钠导,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來击奶,“玉大人辈双,你說我怎么就攤上這事」窭” “怎么了湃望?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長痰驱。 經(jīng)常有香客問我证芭,道長,這世上最難降的妖魔是什么担映? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任废士,我火速辦了婚禮,結(jié)果婚禮上蝇完,老公的妹妹穿的比我還像新娘官硝。我一直安慰自己矗蕊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布氢架。 她就那樣靜靜地躺著傻咖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岖研。 梳的紋絲不亂的頭發(fā)上卿操,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機(jī)與錄音孙援,去河邊找鬼害淤。 笑死,一個胖子當(dāng)著我的面吹牛拓售,可吹牛的內(nèi)容都是我干的窥摄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼邻辉,長吁一口氣:“原來是場噩夢啊……” “哼溪王!你這毒婦竟也來了腮鞍?” 一聲冷哼從身側(cè)響起值骇,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎移国,沒想到半個月后吱瘩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡迹缀,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年使碾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祝懂。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡票摇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砚蓬,到底是詐尸還是另有隱情矢门,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布灰蛙,位于F島的核電站祟剔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏摩梧。R本人自食惡果不足惜物延,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仅父。 院中可真熱鬧叛薯,春花似錦浑吟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至强霎,卻和暖如春忿项,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背城舞。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工轩触, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人家夺。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓脱柱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拉馋。 傳聞我的和親對象是個殘疾皇子榨为,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容