我有一個運行Maven目標的Hudson作業。在執行這個maven目標之前,我已經添加了一個在構建開始之前運行的步驟,它是一個shell腳本,它獲取我想在「目標和選項」字段中使用的版本號。使用使用預編譯shell命令獲得的變量爲Hudson中的Maven構建設置選項
在我的作業配置所以,在構建環境我已經檢查了配置M2額外的構建步驟盒和構建之前增加了一個shell腳本。該腳本是這樣的:
export RELEASE={command to extract release version}
echo $RELEASE
然後根據構建節中,我指出我的「根POM」。在目標和選項我再想能夠做這樣的事情:
-Dbuild.release.version=${RELEASE} deploy
凡build.release.version是在POM中引用的行家屬性。然而,因爲shell似乎沒有使其變量全局化,所以它不起作用。有任何想法嗎?
我唯一擁有的就是安裝Envfile插件並獲取shell腳本將RELEASE屬性寫入文件,然後讓插件讀取該文件,但運行一切的順序可能會導致問題而且似乎必須有更簡單的方法...在那裏?
在此先感謝。
您好,感謝您的答覆 - 我試過了,但得到的錯誤: 大廈主 [工作區] $/bin/sh的C:\ DOCUME〜1 \ USR \ LOCALS〜1 \ TEMP \ 1 \ hudson5860957589544318456 .sh 致命錯誤:命令執行失敗 java.io.IOException:無法運行程序「/ bin/sh」(在目錄「E:\ hudson \ jobs \ MyJob \ workspace」中):CreateProcess error = 3,系統找不到指定的路徑 \t在java.lang.ProcessBuilder.start(ProcessBuilder.java:459) \t \t ... 引起:產生java.io.IOException:CreateProcess的錯誤= 3,系統無法找到路徑指定 \t at java.lang.ProcessImpl.create(Native Method) \t ... 在窗口框上運行 – 2010-09-03 10:44:56
想我現在明白了 - http://hudson.361315.n4.nabble.com/sh-in- cygwin-td368129.html – 2010-09-03 13:41:48
是的,仍然無法正常工作。使用Hudson版本1.371 – 2010-09-03 14:11:53