繁体   English   中英

Jenkins-如何将参数从下游作业传递到其父上游?

[英]Jenkins - How to pass parameters from a downstream job to its parent upstream?

解决了反向问题之后,我现在需要将一些简单的数据从每个下游作业传递回其父作业。 一个显而易见的选择是将数据写入文件,将其另存为工件,然后让父上游作业检索其所有下游作业的工件。

还有其他想法吗? 我还没有看到任何与此相关的插件,而Build Pipeline和Workflow插件似乎对此都显得过高了。

谢谢,阿米尔

我选择的解决方案不使用任何Jenkins机制,因为没有解决方案...
我最终使用RabbitMQ消息传递队列,如下所示:
1.在单独的主机(未连接到Jenkins)上设置持久化RabbitMQ服务器。 主机是CentOS 7。
2.在上游作业中添加了发布/ 订阅订户
3.在下游作业中添加了发布/订阅发布者

上游订户轮询消息队列以查找下游作业发布的消息,并在接收到这些消息后采取行动。

这样做还有一个好处,就是下游作业可以通过相同的机制进行相互通信。
所有脚本均使用Python,因此我正在使用pika与RabbitMQ进行交互。
皮卡(Pika): https : //pika.readthedocs.org/en/latest/index.html

我对收集有关此类要求的上下文的更多细节很感兴趣……我对工作依赖性的有效性并不信服。 您应该考虑以下算法。

A(手动事件)执行B(强制事件),然后执行C(强制事件)

以及其他序列(这应该与詹金斯人的生活方式更加匹配)

执行A(手动事件)更新工件a,B(a上的工件变化监视),并执行更新工件b,C(如果需要序列,则在-或b上进行工件变化监视)并更新工件c,D(其他作业工件)完成对b和c的监视(或c,如果需要顺序B,C),并完成工作。

然后,您将关注作业何时开始(触发系统-SCM事件触发器,FStrigger,URLTrigger,IvyTrigger,ScriptTrigger)以及作业产生的内容。 (部署人工产品,promotedbuild等)

为了管理可变性,您还应该浏览一下Variable extractor插件( https://github.com/cittools/variables-extractor-plugin ),该插件以与名为regexp wrapper的Python相同的语法实现正则表达式变量读取器。这可能是有用的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM