我想知道是否有外部Jenkins业务流程的解决方案?
让我先解释一下我们的设置:
A
作业配置为在提交后获取代码,运行单元测试并自行构建工件B
个作业(现在有4个)使用空数据库并行运行不同的冒烟测试。在A
作业成功后,他们触发了 。这些作业使用外部资源:云节点(将部署工件)和数据库池中的数据库。乔布斯可以返回三种状态:
C
作业:如果所有B
作业均为绿色,则仅运行 。否则流程结束。将工件上传到Nexus D
作业:运行功能测试:此处的多个作业将重用B
作业中的云节点,以节省部署时间。我们不关心他们将获得哪种状态:绿色,黄色或红色。只记录结果及其结果。但是,此处有两个作业将在集群配置中部署来自A
作业的原始工件,如果部署成功,则E
作业独立启动(即D1
作业失败,而不是{{1}不应该启动,但如果E1
作业在同一工作流程中成功,则应触发D2
。工作流完成后,您需要确定状态:如果存在致命错误(任何红色构建),则工作流必须具有失败状态。
完成工作流后,必须释放所有资源:云节点和数据库。
我可以利用哪个工作流程/流程工具流程库来实现这样的逻辑?
我们有其他几个具有不同流量的管道,因此它应该是灵活的。
当前的实施具有非常复杂的逻辑和若干技术工作,这些工作将负责共享资源。我们希望在单个位置实现该逻辑:一个将在外部触发Jenkins作业的协调器,为它们提供运行参数。