将变量从Jenkins传递到Ruby脚本(Jenkins新手)

将变量从Jenkins传递到Ruby脚本(Jenkins新手),ruby,cucumber,jenkins,watir,watir-webdriver,Ruby,Cucumber,Jenkins,Watir,Watir Webdriver,我已经在Jenkins中引入了一些脚本来证明概念,我想我希望我们所有的脚本都朝着这个方向发展。现在我保存了一个environment.rb文件和我的代码(watirwebdriver,cucumber),它告诉脚本我们正在测试哪个环境以及使用哪个浏览器(全局变量)。詹金斯使用rake启动脚本 我希望让用户通过Jenkins'choice'变量或类似变量选择环境和浏览器,然后将其传递给脚本。虽然我看到了Jenkins的框架,并为环境建立了一个选择列表,但我很难确定下一步是什么 我可以写enviro

我已经在Jenkins中引入了一些脚本来证明概念,我想我希望我们所有的脚本都朝着这个方向发展。现在我保存了一个environment.rb文件和我的代码(watirwebdriver,cucumber),它告诉脚本我们正在测试哪个环境以及使用哪个浏览器(全局变量)。詹金斯使用rake启动脚本

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

我可以写environment.rb,我可以把一个变量传递给rake,我有很多方法可以传递信息,我只需要一些帮助,找到实现这些信息的第一步Jenkins方法。谷歌搜索结果和之前的问题不是我想要的


谢谢

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

有一种方法可以将Jenkins环境变量传递给Ruby脚本。请参见以下示例:

workspace_path = `echo $WORKSPACE`.strip # note the use of backticks
puts workspace_path
在“echo$工作区”中,只有在将引号替换为反勾号时,代码才会起作用


这个代码示例在Linux系统上的Jenkins中工作。

因此,对于名为environment的“choice”环境变量,具有选项QA、Dev和Production,以及调用rake的单个构建任务,环境变量将传递到何处?或者该值是否已可用于rake?ENV['environment']?看起来它已作为ENV['variablename']提供。谢谢