我有一个运行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