【问题标题】:parameterized Hudson build issue参数化的 Hudson 构建问题
【发布时间】:2011-03-24 04:11:19
【问题描述】:

我有一个脚本,如果我禁用我的警告消息,我可以使用执行 shell 运行它,并通过给出参数 1 和参数 2 以参数化的方式运行。我的警告消息你想要运行是/否,但我们如何给出是或没有,一旦我们开始参数化构建。如果我说是,它应该继续,如果我说不,它应该停止。任何想法都将不胜感激。 谢谢 普拉文

【问题讨论】:

  • 这是否意味着脚本是交互式的?
  • 是的,如果我在终端上运行,它是一个交互式脚本,一旦我运行脚本,在它执行之前给出一些参数,它会警告我继续是或否,如果我不这样做,它将执行否则退出。跨度>

标签: hudson parameter-passing


【解决方案1】:

如果您的脚本是交互式的,它将无法工作,因为 Hudson 需要非交互式脚本 - 否则它只会挂起(没有终端)。

你可以做的是,而不是询问是否继续,让它依赖于一个变量,比如说 CHOICE,所以

...
if [[ "$CHOICE" == "yes" ]]
then
    #do some work here
else
    echo "Script ended."
fi

并将 CHOICE 作为 Hudson 中的选择样式参数。下次您开始构建时,它会询问您“是”或“否”。您还可以为自动构建选择默认值。

【讨论】:

    【解决方案2】:

    使用一些 Hudson 变量来指示您处于 Hudson 构建(HUDSON_JOB_ID?)等可能会更好。这可用于更改构建的行为。我看到了构建交互式脚本的问题。构建脚本必须在不与用户交互的情况下运行。

    【讨论】:

      猜你喜欢
      • 2012-11-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      相关资源
      最近更新 更多