我的项目使用ANT构建系统。目前,我正在通过shell命令为我的项目提供构建。说当我从cmd提示符中提供“ant dev deploy”时(请参阅下面的图片,以便通过cmd提示进行成功构建)构建开始并在其间停止以便用户确认。在下图中,我突出显示了传递给“dev”的运行时值,它作为确认变量传递,然后基于传递的值继续构建。 这应该是它应该如何,直到现在才正常工作。
![通过cmd提示构建成功的ANT] [1] 目前我通过哈德森自动化这个版本。我在哈德森的Build属性的目标中给出了值“ant dev deploy”。但是,现在我不知道如何配置以在构建进度之间获得值“dev”。在我的审判期间,我收到了错误。下面,我给出了哈德森的日志。
无论如何我可以在运行时传递值。?
抱歉,我无法发布图片。可以澄清是否有任何问题。
糟糕!您的问题无法提交,因为:
•很抱歉,作为垃圾邮件防护机制,不允许新用户发布图片。获得超过10个声望来发布图片
答案 0 :(得分:1)
您无法在构建过程中将值传递给Hudson。您需要在触发构建时提供该功能。 Hudson不是交互式的,因此当前流程中需要用户提示中途的任何内容都需要重新设计。
所有用户提示都需要在构建开始时通过构建参数完成。在作业配置中,选中此构建已参数化标记。如果要限制可能的值,“选择”参数最好。给它命名,例如CHOICE1
,给它一个可能的选择列表。手动触发构建时,用户可以从下拉列表中选择一个选项,然后启动构建。请注意,这不适用于自动触发的构建。
接下来,您需要将此值传递给ANT脚本。在调用Ant 构建步骤中,单击“高级”按钮,然后在“属性”下,您可以将变量传递给ANT脚本:
antScriptVar=$CHOICE1
上面,$CHOICE1
是对Hudson构建参数的引用,它将包含用户在开始构建时从下拉列表中选择的值。 antScriptVar
是您在ANT脚本中具有此值的变量。您可以使用
<property name="antScriptVar" value="" />
当Hudson触发ANT脚本时,它将使用构建变量填充此变量。从那时起,像使用ANT中的任何其他变量一样使用它