文章目錄
項目示例
所有配置完成構建成功后的頁面
image.png
源碼管理
1.SVN
image.png
2.GIT
image.png
構建觸發器
image.png
構建環境
image.png
構建
image.png
shell腳本上傳蒲公英
# build -> Add build step -> Execute shell
pgyerApiKey="**************************"
pgyerUKey="*************************"
echo "獲取apk版本號..."
# ${WORKSPACE} 是jenkins提供的環境變量,表示當前項目跟目錄路徑
# 下面的命令是獲取 app/build.gradle 的第23行內容,然后按照雙引號進行切換,提取第2部分內容,即上面圖示中的 1.1.4
versionName=`sed -n '23p' ${WORKSPACE}/cdel-frameProjectDemo/app/build.gradle | cut -d \" -f 2`
echo "獲取apk所在路徑..."
# _360 是項目中定義了多渠道,但由于之前在 Build - Task 中設置的打包命令,直接指定了渠道號,因此這里也直接固定寫好就可以;
# \cdel-frameProjectDemo\app\build\outputs\apk\package 項目apk存放的路徑 CdelFrameDemo_V1.0.0_release_2017-08-30_pgy apk名稱
# 這里需要弄成動態的
apkAbsPath="${WORKSPACE}/cdel-frameProjectDemo/app/build/outputs/apk/package/CdelFrameDemo_V1.0.0_release_2017-08-31_pgy.apk"
echo "上傳apk到蒲公英進行發布..."
response=$(curl -F "file=@${apkAbsPath}" -F "uKey=${pgyerUKey}" -F "_api_key=${pgyerApiKey}" https://qiniu-storage.pgyer.com/apiv1/app/upload)
echo "上傳結束"
# 原本上傳結束后想要使用 jq 工具 (`brew install jq`) 對蒲公英上傳時返回的response進行json處理的,結果在電腦的shell中測試可行,但寫到這里就一直不成功,無奈,只好放棄
# 提取蒲公英返回的json數據中的 appShortcutUrl 字段值,可拼接成下載地址
#responseCode=$(echo -E "${response}" | jq .code)
#if [ $((responseCode)) == 0 ]
#then
# echo "上傳結束,處理返回相應..."
# appShortcutUrl=$(echo -E "${response}" | jq ".data.appShortcutUrl" | cut -d \" -f 2)
# apkOnlineUrl="https://www.pgyer.com/${appShortcutUrl}"
#else
# echo "上傳失敗,返回碼為: ${responseCode} ,具體請看日志"
#fi
構建后操作
image.png