前沿
由于公司做的是金融産品,考慮到安全問題,apk包不準備運用蒲公英或者fir.im 這些三方平台,以免被洩露。(前段時間蒲公英平台釋出公告,禁止金融類app上傳分發)。其他原因,利用業務時間研究下。
window 7 64
伺服器 linux 64
tomcat 8
Jenkins ver. 2.60.3 (穩定)
思路:
- gradle build 腳本 生成apk 檔案
- 利用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
- 自定義ssh 腳本對生成的apk檔案進行拷貝,移動,重命名,最後将重命名的apk檔案放入tomacat 伺服器下的webapp 檔案夾下。
- 使用 QRcode.jar 對tomcat\webapp 下的最新apk路徑進行二維碼生成圖檔。提供外部進行下載下傳
-
能夠完成上面四個步驟,就算完成了
早期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中
這裡貼上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 生成二維碼
伺服器上檔案夾位置
- jobs 位置
- workspace位置
- 自定義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腳本定義的輸出格式。
-
配置jenkins
下載下傳過Html publish 插件後,記得修改Markup Formatter 格式為safe HTML,才可以解析 html标簽文法
配置build description
注意:這裡由于是示範使用,直接寫死二維碼路徑,後期可以優化為動态的
喏,就是這麼簡單
- 當然不通過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作為裝飾使用