
以上就是本篇文章要記錄的jerkins自動(dòng)打包并生成二維碼的效果截圖!
1.安裝jenkins(命令行)
brew install Jenkins
如果提示jenkins: Java 1.8 is required to install this formula.
則還需要配置Java環(huán)境
brew tap caskroom/versions
brew cask install java8(brew cask install java則表示最新版本)
安裝成功后輸入命令行
jenkins (啟動(dòng))
2.在瀏覽器輸入localhost:8080
3.安裝插件
Git
Gradle
這些肯定是必須的,還有一些輔助的可以安裝

上圖是我安裝過程中用到的,如果缺少什么會(huì)有提示,按照提示安裝就好,一種是在插件管理里面直接安裝,還有一種方式是Jenkins插件下載地址下完了本地上傳,看網(wǎng)絡(luò)情況。
因?yàn)槠渌O(shè)置或配置都依賴插件才能顯示,所以插件安裝放在首位。
4.系統(tǒng)設(shè)置
Jenkins首頁系統(tǒng)管理下有個(gè)系統(tǒng)設(shè)置,主要需要設(shè)置一下環(huán)境變量,以及Jenkins URL,如下

5.全局安全設(shè)置

我只改了這一處,主要是為了生成二維碼能夠顯示出來,會(huì)用到
6.全局工具配置
主要需要設(shè)置git和gradle

git目錄選擇自己電腦下git的目錄

gradle選好自己的版本就好
7.項(xiàng)目構(gòu)建配置
配置完成全局的相關(guān)設(shè)定后,接下來就是針對項(xiàng)目的了
首先是新建一個(gè)job或者new 任務(wù),Jenkins首頁左上角第一個(gè)菜單項(xiàng)就是,根據(jù)需要選擇不同的風(fēng)格,我選的是構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目
,然后就進(jìn)入的項(xiàng)目配置的頁面了。
git配置如下

gradle配置如下

add build step 執(zhí)行shell

截圖為mac上的方法,Windows可以選執(zhí)行Windows批處理命令
用python在本地生成二維碼,qrcode.py代碼如下
import os, sys, ssl
import urllib
workspace = sys.argv[1] #jobs/project/workspace/
buildDir = sys.argv[2] # app/build/outputs/apk/
urlPrefix = sys.argv[3] # http://192.168.1.1:8080/job/project/35/
fileNames = []
absoluteBuildPath = workspace + buildDir
print absoluteBuildPath
for fileName in os.listdir(absoluteBuildPath):
tmpPath = os.path.join(absoluteBuildPath, fileName)
if os.path.isfile(tmpPath) and fileName.endswith(".apk"):
fileNames.append(fileName)
for index, fileName in enumerate(fileNames):
downloadUrl = urlPrefix + 'artifact/' + buildDir + fileName
apiUrl = "https://api.qrserver.com/v1/create-qr-code/? size=150x150&data=" + downloadUrl
print apiUrl
savePath = workspace + 'qrcode/qrcode' + str(index) + '.png'
if not os.path.exists(os.path.dirname(savePath)):
os.makedirs(os.path.dirname(savePath))
urllib.urlretrieve(apiUrl, savePath)
以上僅供參考,可以自行定義
Post-build Actions(展示apk鏈接和二維碼)

以上配置完成后,保存,然后點(diǎn)立即構(gòu)建就可以得到文章開始展示的二維碼了。
中間確實(shí)碰到了很多坑,所以從最開始的截圖可以看到,我是在第33次構(gòu)建后才成功的,所以也是記錄下,方便以后自己能快速集成!當(dāng)然還有一些功能未完待續(xù),比如參數(shù)化構(gòu)建,設(shè)置名字之類的,后續(xù)補(bǔ)充。