0

我需要在檢出代碼的最新版本後決定參數的值,這就是爲什麼我不能使用現有參數類型。Jenkins覆蓋構建步驟中的參數值

我首先想到的是定義一些空參數,然後在構建步驟中覆蓋它的值,但我無法做到這一點。我嘗試了這樣的Windows批處理命令,但該值無論如何都未被覆蓋。

在Windows批處理命令生成步驟,我試着用下面的命令

set VERSION = "2.1" 

什麼,我其實是想爲增加Android應用程序的文件名從AndroidManifest閱讀的版本名稱來覆蓋參數VERSION。 xml文件。

我也寫了一些Groovy腳本如下,以獲取版本名稱,

def pattern = ~/(?m)android:versionName="([^"]*)"/ 
File file = new File("AndroidManifest.xml") 

regexMatcher = pattern.matcher(file.text) 
println matcher[0][1] 
+0

爲什麼不能使用「這個版本是參數化」選項? – Tobrun

+0

構建參數是在代碼檢出之前定義的,我的參數值取決於最新版本的代碼。 – mehmet6parmak

+0

好的,你正在使用哪個版本控制系統? Git,svn等。 – Tobrun

回答

0

你不能使用Envinject Plugin?它可以讓你從一個文件中設置參數,網頁上顯示的一個用例是在SCM結帳後注入參數。

相關問題