我可以从参数化的Jenkins构建作业中获取参数吗?

时间:2014-04-14 07:43:24

标签: jenkins

我已经用这种方式定义了我的Jenkins工作:

"Integration tests" Job >> "Deploy" Job

每当"集成测试" job被触发它触发参数化" Deploy"工作。 让我们说我传递的参数如下:USER_ID来唯一标识我的应用程序。

现在"部署" job使用此USER_ID参数,创建和部署应用程序。 典型的应用程序URL创建如下:

http://myApplication-userA (assume USER_ID has 'userA' value)

我想要的是这个URL值回到我的"集成测试"工作。我已经使用参数化插件将值传递给进一步的工作,但是有一种方法可以从" Deploy"中获取值。工作

虽然,我知道创建独特应用程序的逻辑在" Deploy"工作,可以很好地预测URL。但更清洁的解决方案是取回价值吗?

2 个答案:

答案 0 :(得分:0)

我没有看到这样的事情,没有将临时文件存储在两个作业的相互可访问的位置。

您可以执行的操作是阅读Deploy作业的控制台输出,并针对您要查找的输出进行解析。显然,Deploy作业必须打印以控制您正在寻找的信息。

您可以使用Deploy

阅读http://[HUDSON]/job/[Deploy_JOB_NAME]/lastBuild/logText/progressiveText?start=0作业的控制台输出

通过将/api添加到任何作业的网址

的末尾,详细了解相关信息

答案 1 :(得分:0)

我还没有尝试过的一种方法是添加一个新的环境变量[1]。关于它的好处是环境变量的全局共享状态似乎被认为是必须的,并且是无处不在的。

你是怎么最终解决的?安

1. [] https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin