2

我已经将一些脚本放入 Jenkins 以进行概念验证,并认为我想为我们所有的脚本移动这个方向。现在我用我的代码(watir-webdriver,cucumber)保存一个 environment.rb 文件,它告诉脚本我们正在测试哪个环境以及使用哪个浏览器(全局变量)。Jenkins 使用 rake 启动脚本。

我想让用户通过 Jenkins 'choice' 变量或类似变量选择环境和浏览器,然后将其传递给脚本。虽然我看到了 Jenkins 的框架并为环境设置了一个选择列表,但我无法确定下一步是什么。

我可以写信给 environment.rb,我可以将一个变量传递给 rake - 我有很多关于如何传递信息的选项,我只需要一些帮助来找到第一步来找到 Jenkins 完成它们的方法。Google 结果和以前的 Stack 问题不是我想要的。

谢谢

4

2 回答 2

4

当然。在告诉 Jenkins 这是一个参数化构建之后,给用户一个文本输入字段一个下拉列表。您将为它们命名,例如 BuildEnvironment。然后,当您调用构建时,您可以从环境变量中传递这些。例如,如果您使用的是 ANT,您将在参数中添加一行,说明 environment = ${MyEnvironment} Jenkins 将传递该值以供您的构建工具使用。

于 2011-09-14T16:45:16.027 回答
1

有一种方法可以将 Jenkins 环境变量传递给 Ruby 脚本。请看下面的例子:

workspace_path = `echo $WORKSPACE`.strip # note the use of backticks
puts workspace_path

在 "echo $WORKSPACE".strip # 代码只有在你用反引号替换引号时才有效

此代码示例适用于 Linux 系统上的 Jenkins。

于 2015-07-02T08:44:17.940 回答