如何解决管理两个不同但相关的詹金斯职位的构建
我有两个詹金斯声明性管道作业A和B。作业A需要同时进行构建,但是当作业A运行时作业B无法运行,而作业B无法同时运行。我不想通过使用Lockable Resources插件锁定资源来阻止作业A的并发构建。我如何使这种情况下工作。有什么想法或建议吗?
解决方法
对此没有很好的解决方案。 IMO的“正确”解决方案是一个读/写互斥,其中B
可以锁定R / W(因此A和B都不能使用该资源),而A
只能锁定W / W(因此A
可以继续获取读锁,但是B
无法获取其写锁。
到目前为止,我所看到的最好的解决方法是手动创建带有相同标签的大型可锁定资源池。让A
一次请求锁定该标签的一个资源,而B
锁定整个池(请注意,lock
步骤具有参数quantity
)。这样可以实现相同的功能,但是更多的是不可思议的,而且还无法扩展(如果突然突然同时需要运行100次A
,但是仅创建了50个资源,则您将不再具有完全的并行性)
您可以让作业B监视作业A的执行情况,以便仅在作业A完成后才触发作业B吗?
更新。
我理解这一部分,但是通过一项工作触发另一项工作,他将确保它们不会同时运行。 其他解决方案是在作业B中添加一条小的管道,以检查作业A是否仍在运行:
<head>
<style>
.bann {
border: none;
background-color: transparent;
background: url(arrow.svg) no-repeat center/1.3128205128ex 0.8ex;
padding: 40px;
width: 21.312821ex;
position: relative;
overflow: hidden;
}
.bann[aria-expanded=true] {
background: url(arrow.svg) no-repeat center/1.3128205128ex 0.8ex;
transform: rotate(180deg) !important;
}
.bann[aria-expanded=true] span {
transform: rotate(180deg) !important;
}
.bann-text {
display: block;
}
</style>
</head>
<body>
<button class="bann" aria-expanded="true" aria-controls="bann">
<span class="bann-text">te st</span>
</button>
</body>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。