在使用 Jenkins 建置的過程中,有時候會想要將部分資料保留,或是使用環境中的其他資訊來建置,這時候就可以使用 Jenkins 提供的參數化建置來達成。
點選專案 > 組態(Configuration) > General > 參數化建置
勾選「參數化建置」後點選「新增參數」,即可選擇參數的型態
目前可以使用的有:
假設我們要將上一個建立的版本號碼記錄起來,我們可以新增一個參數叫做 LAST_BUILD_NUMBER,預設值為 1
註:變數不可以有冒號,例如 "a:b" 這樣是不合法的,可以新增成功,但是重新整理後就會不見...
儲存後就會發現專案的「馬上建置」變成了「帶參數建置」,並且預設值為我們剛剛輸入的 1。
每次執行前都可以輸入不同的值來變更。
太棒了,可以正常讀取,那寫入呢?
如果直接使用 BUILD_NUMBER = 2 這樣的方式執行後會發現未變更,因為語法錯誤,參數無法這樣簡單的被更新。經過研究後發現除了使用套件外,可以在 pipeline 區塊的最外面使用下面這行更新:
不知道有沒有網友知道更好的更新方式?
歡迎留言
點選專案 > 組態(Configuration) > General > 參數化建置
勾選「參數化建置」後點選「新增參數」,即可選擇參數的型態
目前可以使用的有:
- 憑證參數(Credentials Parameter)
- 執行參數
- 字串參數
- 密碼參數
- 布林值
- 文字參數: 和字串參數相比,文字參數可以換行
- 檔案參數: 檔案的完整路徑
- 選擇: 就是列舉,只能是預先定義的字串中的其中一個
假設我們要將上一個建立的版本號碼記錄起來,我們可以新增一個參數叫做 LAST_BUILD_NUMBER,預設值為 1
註:變數不可以有冒號,例如 "a:b" 這樣是不合法的,可以新增成功,但是重新整理後就會不見...
儲存後就會發現專案的「馬上建置」變成了「帶參數建置」,並且預設值為我們剛剛輸入的 1。
每次執行前都可以輸入不同的值來變更。
讀取和寫入參數
在 Jenkinsfile 中我們可以使用下列兩種方式來讀取參數,:
pipeline {
agent any
stages {
stage('Check')
{
steps {
echo 'LAST_BUILD_NUMBER: ' + LAST_BUILD_NUMBER
echo 'LAST_BUILD_NUMBER: ${LAST_BUILD_NUMBER}'
}
}
}
}
太棒了,可以正常讀取,那寫入呢?
如果直接使用 BUILD_NUMBER = 2 這樣的方式執行後會發現未變更,因為語法錯誤,參數無法這樣簡單的被更新。經過研究後發現除了使用套件外,可以在 pipeline 區塊的最外面使用下面這行更新:
pipeline {
agent any
stages {
stage('Check')
{
steps {
echo 'LAST_BUILD_NUMBER: ' + LAST_BUILD_NUMBER
echo 'LAST_BUILD_NUMBER: ${LAST_BUILD_NUMBER}'
}
}
}
}
properties([parameters([string(defaultValue: '2' , description: '上一個建立的版本號碼', name: 'LAST_BUILD_NUMBER')])])
不知道有沒有網友知道更好的更新方式?
歡迎留言
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com