我想在package.json中包含「版本」參數的值作爲Jenkins構建名稱的一部分。設置Jenkins從package.json版本值創建名稱
我使用的是詹金斯構建名稱二傳手插件 - https://wiki.jenkins-ci.org/display/JENKINS/Build+Name+Setter+Plugin
到目前爲止,我已經嘗試過使用PROPFILE語法中的「構建名宏模板」的步驟:
${PROPFILE,file="./mainline/projectDirectory/package.json",property="\"version\""}
此創建成功一個打造,但包括引號,並在周圍的的package.json版本屬性的值逗號,例如:
"0.0.1",
我只想值插件ide返回,所以它讀取
0.0.1
我該怎麼做?是否有不同的插件可以更好地解析package.json並將其放入模板中,還是應該使用某種正則表達式來刪除我不想要的字符?
UPDATE:
我嘗試使用基於閱讀令牌宏插件文檔令牌轉換,但它不工作:
${PROPFILE%\"\,#\",file="./mainline/projectDirectory/package.json",property="\"version\""}
仍然只是返回
然而,僅僅使用一個轉義字符並且只有#或%中的一個有效。沒有其他組合我嘗試工作。
${PROPFILE%\,,file="./mainline/projectDirectory/package.json",property="\"version\""}
返回"0.0.1"
(逗號去掉)
${PROPFILE#\"%\"\,,file="./mainline/projectDirectory/package.json",property="\"version\""}
返回"0.0.1",
(除去沒有字符)
UPDATE: 試圖用新的詹金斯令牌宏插件的JSON宏沒有運氣。
詹金斯構建名稱二傳手設定更新與宏構建名稱:
${JSON,file="./mainline/pathToFiles/package.json",path="version"}-${P4_CHANGELIST}
詹金斯建立日誌這項工作顯示:
10:57:55 Evaluated macro: 'Error processing tokens: Error while parsing action 'Text/ZeroOrMore/FirstOf/Token/DelimitedToken/DelimitedToken_Action3' at input position (line 1, pos 74):
10:57:55 ${JSON,file="./mainline/pathToFiles/package.json",path="version"}-334319
10:57:55 ^
10:57:55
10:57:55 java.io.IOException: Unable to serialize [email protected]7de37'
PROPFILE-makro在哪裏定義? – AlexS
Yoiu可能在最後一個代碼示例中有複製粘貼錯誤。 – AlexS
PROPFILE並不是用於JSON,PROPFILE是用於屬性文件(類似於ini文件)。在新的宏中添加對JSON的支持可能會更好。另外,%和#用於從字符串的開始和結尾中刪除事物,而不是字符串中的所有事件。 – slide