我已经用这种方式定义了我的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。但更清洁的解决方案是取回价值吗?
答案 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