2013-01-17 35 views
0

我的项目使用ANT构建系统。目前,我正在通过shell命令为我的项目提供构建。说当我从cmd提示符给出“ant dev deploy”时(请参阅下图,通过cmd提示符成功构建)构建开始并在两者之间停止以供用户确认。在下图中,我突出显示了通过“dev”传递的运行时值,该值作为确认变量传递,然后构建继续基于传递的值。 这就是它应该如何,直到现在它正在正常工作。哈德森版本中的运行时构建配置

![通过cmd提示成功ANT构建] [1] 目前我正通过哈德森自动化该构建。我在哈德逊的Build属性的目标中给出了“ant dev deploy”的值。但是,现在我不知道如何配置以在构建过程之间获得“dev”值。在我的试用期间,我遇到了错误。下面,我给了哈德森的日志。

无论如何我可以在运行时传递值。

抱歉,我无法发布图片。可以澄清是否有任何问题。

糟糕!您的问题无法提交,因为:

•很抱歉,作为垃圾邮件防范机制,新用户不允许发布图片。获得超过10个声望以发布图像

回答

1

您无法在构建过程中将值传递给Hudson。您需要在触发构建时提供。 Hudson不是互动的,因此需要重新设计当前流程中需要用户提示半途的任何内容。

所有的用户提示需要在构建开始时通过构建参数完成。在作业配置中,选中标记此版本参数化为。如果您想限制可能的值,“选择”参数是最好的。给它一个名字,例如CHOICE1,给它一个可能的选择列表。当构建被手动触发时,用户可以从下拉列表中选择一个选项,然后开始构建。请注意,这不适用于自动触发的构建。

接下来,您需要将此值传递给您的ANT脚本。在您的调用Ant构建步骤,点击“高级”按钮,“属性”,可以将变量传递给Ant脚本下:

antScriptVar=$CHOICE1 

以上,$CHOICE1是参考哈德森建立参数,它会包含用户在开始构建时从下拉列表中选择的值。 antScriptVar是ANT脚本中的变量,它具有此值。您可以定义Ant脚本中的空变量,

<property name="antScriptVar" value="" /> 

当哈德森触发Ant脚本,它将填充构建变量这个变量。从此之后,像使用ANT中的任何其他变量一样使用它

+0

非常感谢@Slav! – Bharat