我正在使用Jenkins交付管道插件。我有一些手動觸發的參數化版本。如果我從項目頁面觸發構建,構建將顯示一個屏幕,其中需要定義參數(如預期的那樣)。但是,當我從Delivery Pipeline插件啓動參數化版本時,它只是在不提供屏幕的情況下啓動構建。這是奇怪的行爲,是否有可能讓管道插件顯示參數化的構建屏幕?Jenkins交付管道插件和參數化版本
感謝您的幫助!
我正在使用Jenkins交付管道插件。我有一些手動觸發的參數化版本。如果我從項目頁面觸發構建,構建將顯示一個屏幕,其中需要定義參數(如預期的那樣)。但是,當我從Delivery Pipeline插件啓動參數化版本時,它只是在不提供屏幕的情況下啓動構建。這是奇怪的行爲,是否有可能讓管道插件顯示參數化的構建屏幕?Jenkins交付管道插件和參數化版本
感謝您的幫助!
我一般回答這個問題。您需要使用Parameterized Trigger Plugin或使用Build Pipeline Plugin。交付管道插件的這個問題仍然由Jenkins團隊解決。有關此問題的更新,請參閱此鏈接https://issues.jenkins-ci.org/browse/JENKINS-25685。您可以瞭解何時從該鏈接中解決問題。
如果可以將它用在您的用例中,那麼您可以使用Build Pipeline插件。現在修復的Build Pipeline插件存在類似的問題。它在22天內得到修復(https://issues.jenkins-ci.org/browse/JENKINS-25427,https://github.com/jenkinsci/build-pipeline-plugin/pull/56)。您可以希望即將解決與交付管道插件相同的問題。
你能否給我提供Jenkins的版本,環境和插件版本?我可以根據你給出的答案更新我的答案。
當您使用交付管道插件並且您有手動觸發的參數化版本時,只要您將上游作業配置爲將參數傳遞給下游作業,當單擊「構建觸發器按鈕」時在管道視圖頁面中,參數會自動傳遞。
舉例來說,假設你有一個設置是這樣的:
Compile_Project ---> Deploy_Project
讓我們假設你是從Compile_Project
通過一個名爲versionNumber
變量來Deploy_Project
工作。我們還假設您使用的是您的SCM的Subversion,並且您的versionNumber
看起來像1.0.${SVN_REVISION}
。 ${SVN_REVISION}
由Jenkins自動提供,因此您的版本號看起來像1.0.1234
,其中1234
是Subversion提供的提交編號。
在您的交付管道視圖上,假設它已配置爲顯示3個管道實例,並且在視圖設置中啓用了手動觸發器。你的管道視圖頁可能是這個樣子(耶ASCII藝術!):
Compile_Project ---> Deploy_Project (>)
Compile_Project ---> Deploy_Project (>)
Compile_Project ---> Deploy_Project (>)
在這種情況下,我使用(>)
代表手動觸發按鈕。底部的按鈕將嘗試部署版本1.0.1234
,中間的按鈕會嘗試部署版本1.0.1235
,並且頂部按鈕會嘗試部署版本1.0.1236
,假設您的項目已經獲得了連續的SVN提交。
爲了將參數從Compile_Project
傳遞到Deploy_Project
作業,您需要執行以下操作。 (注意:這聽起來像你已經完成了這部分,但是我將它包括在內以防萬一你錯過了一個步驟,並且也是爲了完整性。)
在Compile_Project
作業配置中,作爲構建後操作,選擇「構建其他項目(手動步驟)」。在「下游項目名稱」框中,輸入Deploy_Project
,然後從「添加參數」下拉列表中選擇「預定義參數」。在出現的「參數」文本區域中,創建一個要傳遞的參數,我將調用VERSION_NUMBER
。您將在文本區域輸入的內容是VERSION_NUMBER=1.0.${SVN_REVISION}
。這將使參數從Compile_Project
傳遞到Deploy_Project
。但是,你還沒有完成。
在Deploy_Project
作業配置中,您需要將其設置爲接受您傳遞給作業的參數。爲此,請配置Deploy_Project
,然後選中「此構建已參數化」複選框。然後從「添加參數」下拉列表中添加一個字符串參數。在「名稱」字段中,輸入VERSION_NUMBER
。此時,您可以在Deploy_Project
的配置中使用${VERSION_NUMBER}
,以便指定要部署的項目的正確版本號。