我們在構建任務時經常會遇到這樣的情景,一個任務配置好了以后,在后面的構建過程中,又會修改一些配置。例如,我們構建項目的代碼可能是拉取指定的分支或者是Tag進行構建,又或者是在構建是需要指定特定的運行平台,如果我們每次構建任務時去修改配置,這就太麻煩了,有沒有可能通過參數進行控制,而不用去修改任務的配置呢?這樣的需求太常見,Jenkins 肯定是能滿足的。
Jenkins 默認已經支持的參數類型有:憑據參數、字符參數、密碼參數、布爾參數、文件參數、選項參數等,其中最常用的是字符參數、密碼參數、布爾參數和選項參數,這些都比較好理解,另外就是憑據參數一般是密鑰文件,文件參數就是如果構建過程中需要特定文件那就上傳文件到工作空間,還有一點需要注意的是選項參數是一行一個,第一行的為默認值,如果第一行是回車鍵的空白行,則表示該值為空。
接下來就對常用的參數類型進行操作演示。
創建一個自由風格的任務,名稱為 jenkins-parameterized-test-task
,在【配置】中勾選上【參數化構建過程】:
分別添加字符參數、布爾參數和選項參數進行測試:
添加好參數后,最后在【構建】階段輸出我們的參數內容看看效果:
保存后左側的菜單欄中的【立即構建】按鈕會變成【Build with Parameters】按鈕,並且點擊【Build with Parameters】會要求輸入參數,下圖是默認參數情況:
直接以默認參數構建,輸出日志如下:
調整參數后構建輸出日志中的參數也跟着變化:
通過參數化構建過程,來達到我們動態調整構建參數的目的,這樣就省去了修改任務配置的麻煩。其實從演示的截圖中可以看到 Jenkins 是支持多種的構建參數類型,對於其他不常用的參數類型,感興趣的同學可以自行測試研究。