天天看點

jenkins 本地二維碼生成 進階篇

前沿

由于公司做的是金融産品,考慮到安全問題,apk包不準備運用蒲公英或者fir.im 這些三方平台,以免被洩露。(前段時間蒲公英平台釋出公告,禁止金融類app上傳分發)。其他原因,利用業務時間研究下。

window 7 64

伺服器 linux 64

tomcat 8

Jenkins ver. 2.60.3 (穩定)

思路:

  1. gradle build 腳本 生成apk 檔案
  2. 利用linux 指令 獲得 apk 檔案名稱,這裡使用 jq 工具解析 app\build\output\debug\output.json,得到apk檔案名稱。
格式:  java -jar xxx\QRcode.jar url=xx\Htun_1.0.2_062711_debug.apk image=latestapk.jpg save=xxx\1.jpg      
  1. 自定義ssh 腳本對生成的apk檔案進行拷貝,移動,重命名,最後将重命名的apk檔案放入tomacat 伺服器下的webapp 檔案夾下。
  2. 使用 QRcode.jar 對tomcat\webapp 下的最新apk路徑進行二維碼生成圖檔。提供外部進行下載下傳
  3. 能夠完成上面四個步驟,就算完成了

    早期blog :jenkins釋出apk到三方應用平台

前提是jenkins正常安裝,并且可以使用的情況下。為滿足該條件,需要提前學習下jenkins基礎知識

步驟1

使用gradle腳本進行打包

build 指令可以生成debug 和 resease apk。如果指定生成debug或者resease apk檔案,需要指定指令

assemble debug  生成debug apk檔案

assemble Release 生成Release apk檔案      

這裡模式使用debug方式

步驟2

jenkins生成物位置在jobs中

jenkins 本地二維碼生成 進階篇

這裡貼上ssh指令

# pass parameter use gen apk




pathApk=$1  # 接受外部參數


# 取出來最新打的包,進行複制到指定路徑
cd $BASEAPK  # 進入output\debug 路徑下

ApkName=$(jq -r  .[0].path  /root/.jenkins2/jobs/npl/workspace/app/build/outputs/apk/debug/output.json) # 使用 jq 工具解析android studio 生成的json擷取apk名稱



echo $ApkName #列印

cp $pathApk/$ApkName  $pathApk/npl.apk  #進行apk 拷貝,linux 指令

mv -f $pathApk/npl.apk  /usr/tomcat/apache-tomcat-8.0.36/webapps/apk/ # 移動到tomcat 路徑下

java -jar /usr/local/android/qrtools/QRcode.jar url=http://10.7.0.201:8080/apk/npl.apk image=latestapk.jpg save=/usr/tomcat/apache-tomcat-8.0.36/webapps/examples/image  # 使用二維碼生成jar 生成二維碼      

伺服器上檔案夾位置

jenkins 本地二維碼生成 進階篇
  1. jobs 位置
  2. workspace位置
  3. 自定義ssh腳本,關于打多管道包的,關于生成二維碼的,以及蒲公英下載下傳待json

以下是output.json 格式

[{
    "outputType": {
        "type": "APK"
    },
    "apkInfo": {
        "type": "MAIN",
        "splits": [],
        "versionCode": 17
    },
    "path": "npl-2.0.9-062716-debug.apk",
    "properties": {
        "packageId": "com.nuoyuan.npl",
        "split": "",
        "minSdkVersion": "14"
    }
}]      

每次 “path”: “npl-2.0.9-062716-debug.apk”, 的名稱是動态變化的。 npl-2.0.9-062716-debug.apk 是gradle腳本定義的輸出格式。

  1. 配置jenkins

    下載下傳過Html publish 插件後,記得修改Markup Formatter 格式為safe HTML,才可以解析 html标簽文法

配置build description

jenkins 本地二維碼生成 進階篇

注意:這裡由于是示範使用,直接寫死二維碼路徑,後期可以優化為動态的

喏,就是這麼簡單

  1. 當然不通過jenkins也是可以下載下傳的! 界面比較low,将就着看吧。

這樣一個簡單的本地二維掃描下載下傳完成。

用到工具包下載下傳位址 ​​QRcode.jar​​

文法:

java -jar QRcode.jar url=http://10.7.0.201:8080/apk/$ApkName image=npl.png save=/usr/tomcat/apache-tomcat-8.0.36/webapps/examples/image      

注意;image=npl.png ,可以指定一個icon作為裝飾使用