bounty将于明天到期。回答此问题可获得+50的声望奖励。Jay-Pi正在寻找来自知名来源的答案:经过彻底的搜索,我在官方文档中没有找到任何提示,也没有找到关于不同管道类型如何交互的设计的很好的解释。我搜索了“build blocker language:groovy”,只找到了插件。图形化的配置可以正常工作,但相对来说,没有针对此用例的文本工具是令人失望的。
我正在寻找一种方法,使多个声明性编写的Jenkinsfiles只能独占运行,并相互阻塞。它们消耗测试示例,这些示例在运行后将被终止,这会在PR进入时测试时造成问题。
- 我找不到一个选项来让the BuildBlocker plugin这样做,所有使用这个插件的jenkinsfiles都不在我们的插件/Jenkins版本模式中运行,而且似乎这些从语法生成器导出的
[$class: <some.java.expression>]
字符串在这里无论如何都不起作用。 - 我无法找到一种方法来在管道中涉及的所有步骤上运行这些Locks。
- 我可以破解一个文件锁,但这对我的多节点构建没有帮助。
2条答案
按热度按时间7gs2gvoe1#
既然你说你想要声明性的,那就等着看当前正在评论的Allow locking multiple stages in declarative pipeline jira问题吧,你也可以投票给它,然后观看它。
如果您迫不及待,这是您学习golang(或任何您想学习的语言)的机会,方法是实现一个微服务,该微服务保存您从管道脚本调用的这些锁。
nhhxz33t2#
这个插件也许可以帮助你,因为它允许锁定你之前声明的资源,这样如果一个资源当前被锁定,任何其他需要相同资源的作业都将等待,直到它被释放。https://plugins.jenkins.io/lockable-resources/