jenkins是CI/CD中部署時候一個重要工具,可以按照我們需求進行配置一些編譯打包測試工作,有些是全自動化的,有些需要進行手動參數(shù)進行觸發(fā)。今天給大家分享一下Jenkins使用Build With Parameters插件,實現(xiàn)外置參數(shù)進行觸發(fā)job。
歡迎關注微信公眾號:羽林君,或者添加作者個人微信:become_me
安裝插件
Jenkins插件管理搜索Build With Parameters
安裝好之后http://192.168.33.128:8080/restart ,重啟等待生效
重啟后進入job配置
使用Build With Parameters插件
在基本參數(shù)配置中使能參數(shù)選項:
可以看到有很多選項,
- 布爾參數(shù)選擇參數(shù)憑據(jù)參數(shù)文件參數(shù)多行字符串參數(shù)密碼參數(shù)運行參數(shù)字符串參數(shù)
使用字符串參數(shù)
做一個簡單的tag打包發(fā)布
tag外置參數(shù)輸入設置
設置字符串參數(shù)名稱,GIT_TAG_VERSION
,其中參數(shù)要使用下劃線,這樣Jenkins可以進行后續(xù)的識別使用。
在這里插入圖片描述
利用git publisher進行tag發(fā)布
git publisher也是Jenkins的插件,可以用來把修改的部分推送到遠程倉庫,這里可以用來推送tag下面是git publisher的選項
1.Push Only If Build Succeeds:構(gòu)建成功時推送,這個必須得勾選
2 .Merge Results:合并結(jié)果,不做詳細介紹
3.Force Push:強制推送到遠程倉庫上
4.Tags:標簽,打tag重點在這:
Tag to push:定義tag的名稱,這邊使用Jenkins提供$BUILD_NUMBER變量,根據(jù)當前job構(gòu)建號 來進行打TAG
Tag message:定義tag的描述
Create new tag:創(chuàng)建新的TAG,勾選
Update new tag:更新TAG,勾選
Target remote name:打TAG到遠程上的名稱
5.Branches:分支,不做詳細介紹
6.Notes:記錄,不做詳細介紹
使用${}
進行參數(shù)取數(shù)據(jù)
設置好之后觸發(fā)編譯,會有param選擇,這個時候我們就可以輸入我們需要的參數(shù)進入這是觸發(fā)之后的執(zhí)行l(wèi)og數(shù)據(jù)
push失敗,是因為寫的code是隨機寫的,寫正確就推送上去了
除了使用git publisher插件,我們也可以編譯時候執(zhí)行:
git?tag?-d?%GIT_TAG_VERSION%
git?tag?-d?${GIT_TAG_VERSION}
不同平臺下,變量的引用不一樣,
Windows批處理:%var_name%
Unix/Linux Shell: ${var_name}
設置多選擇列表進行觸發(fā)編譯
上面使用了單字符串進行驗證,接下來使用選項列表的選擇觸發(fā)job試用做一個多倉庫選擇的工作,定義名稱為GIT_STORE
這里使用換行分開,這樣就可以出現(xiàn)選項在代碼來源,設置選擇參數(shù)進行倉庫下拉代碼:
在外部進行觸發(fā)編譯,這個時候就可以進行選擇了
這是觸發(fā)之后的執(zhí)行l(wèi)og數(shù)據(jù)
附錄
此外還可以使用Active Choices這個插件,進行腳本解析功能,達到更復雜的功能
還是老方法下載安裝:
同樣的restart操作等待生效:
這個時候進行增加參數(shù)我們就發(fā)現(xiàn)多了幾個選項:選擇好參數(shù):
選擇使用腳本解析的方法:
選擇腳本解析
return?['Option?1',?'Option?2',?'Option?3']
下面的選項可以單選和可以多選,這里功能就復雜起來了點擊
Build with Parameters
進行觸發(fā)編譯,就可以看到選項三個全選,觸發(fā)編譯
Active Choices還有更豐富的界面選擇詳情參考:https://plugins.jenkins.io/uno-choice/
結(jié)語
這就是我在Jenkins實現(xiàn)選擇參數(shù)構(gòu)建的使用分享。如果大家有更好的想法,也歡迎大家加我好友交流分享哈。
作者:良知猶存,白天努力工作,晚上原創(chuàng)公號號主。公眾號內(nèi)容除了技術(shù)還有些人生感悟,一個認真輸出內(nèi)容的職場老司機,也是一個技術(shù)之外豐富生活的人,攝影、音樂 and 籃球。關注我,與我一起同行。