【问题标题】:Jenkins Promotion Parameter values not coming through in Shell Exec CommandJenkins 促销参数值未在 Shell Exec 命令中通过
【发布时间】:2012-08-01 21:23:48
【问题描述】:

我创建了名为“RUNSCRIPT”的构建提升“选择”参数,其值为“No”(默认)和“Yes”,并尝试将 EXEC SHELL 命令中的参数值设为 $RUNSCRIPT,但两者均不为“Yes”或“否”通过。如果我查看输出,它会以 $RUNSCRIPT 的形式出现(原样)。为什么不被价值取代。有什么建议么?此外,尝试创建其他类型的参数,例如字符串值,但它不能正常工作。

【问题讨论】:

  • 也许this 的文章会有所帮助。
  • 那是构建参数,不同于提升参数。
  • 这些参数是不是叫做“审批参数”?如果是这样,他们确实为我在促销活动中发挥了作用并扩大了范围。也许您可以将配置文件发布到某个地方,例如 pastebin 或 gist。
  • 嗯,它们是promotion Action中的Approval参数。此外,同一促销中的另一个操作是“通过 SSH 发送构建工件”,其中包含您提到 shell 命令的“执行命令”文件。我试图从那里获得它的价值,因为 $RUNSCRIPT 也尝试了 £{RUNSCRIPT} 和 %RUNSCRIPT 但没有任何效果。它对你有什么作用?可能出了什么问题?

标签: hudson jenkins


【解决方案1】:

如果要将值从 jenkins 传递到脚本,则需要将参数定义为 jenkins 环境变量。为此,我使用了 Ant。例如:

属性环境="env" 属性名称="用户" 值="${env.user}"

如果我只是使用

property name="user" value="${user}"

这些值将从引用用户的其他文件传递。

【讨论】:

  • 但是,我认为应该在您创建升级参数时为您执行此操作,因为如果您看到帮助,它会说:“这些参数作为环境变量公开以构建。”。无论如何,请问您将如何/在哪里在 Jenkins 中创建该环境变量?
  • 你在使用推广插件吗
  • 是的。我们正在使用促销插件。
  • 我从来没有使用过那个插件,但是你可以像上面解释的那样使用 ant 来进行这样的操作。我还注意到,因此参数中存在错误,可能此 URL 可能会对您有所帮助。 issues.jenkins-ci.org/browse/JENKINS-5679
  • 那个错误是与此无关的。
【解决方案2】:

我设法获得一个批准参数作为下游构建的构建参数传递(由促销本身触发);你只需要传递它们。

我了解到,可以说审批“构建”中允许使用审批参数,因此您在该审批中的任何操作都应该能够引用任何审批参数。

这意味着你可以有一个批准参数FOO,然后在批准动作中,如果你有一个“触发参数化构建”动作,你可以使用带有文本的“预定义参数”:

 BAR=${FOO}

然后,触发的构建将 BAR 构建属性设置为提升构建所用的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多