jenkins - Jenkins 可锁定资源 - 锁定而不解锁
问题描述
我将“Locable Resources Plugin”与 Jenkins 多管道功能一起使用:
lock('my-resource-name') {
}
我有一种情况,我需要在一个管道中锁定资源并在另一个管道中解锁它。我有解决方法,但如果可能的话,我更喜欢使用锁定插件。
我想象这样的事情
lock("my-resource-name")
.....
unlock("my-resource-name)
它的原因
我正在实现金丝雀版本,并且通过我的管道有三种不同的路径(我考虑了其他解决方案,例如使用输入插件暂停管道 - 为我提供更多超出了这个问题的范围)。我想在评估金丝雀时锁定/暂停管道,然后在升级或回滚完成后再次解锁。省略lock
声明的主体只是给了我java.lang.IllegalStateException: There is no body to invoke
解决方案
一种方法是:
curl -XGET https://your-jenkins/lockable-resources/reserve?resource=myresource
curl -XGET https://your-jenkins/lockable-resources/unreserve?resource=myresource
GET 不是错误,它确实是 GET。
等待锁
lock("my-resource-name") {}
我也知道 Jenkins 支持一种叫做“里程碑”的东西,显然是用来在构建之间进行通信的东西。但我不知道它是否可以用来以任何有意义的方式解决这个问题。
推荐阅读
- html - 期待“OPEN_INVERSE_CHAIN”、“INVERSE”、“OPEN_ENDBLOCK”,得到“EOF”
- c - 如何从 esp-idf 中的 NTP 服务器重新同步时间?
- vuejs2 - VueJS:导航到其他页面时导航栏上的下拉菜单不起作用
- testing - 如何修复'类型'()=> T'不是类型转换中'T'类型的子类型'
- javascript - 如何最小化 Windows 任务栏的扩展?
- azure - 奥地利的 Azure 媒体服务
- wpf - 在“遵循”MVVM 和 DDD 的桌面应用程序中使用 graphql 服务
- html - WordPress HTML 格式化
- twilio - Twilio 自动驾驶仪重定向无法正常工作
- javascript - 单击图像以切换到另一张以第一张的平均颜色着色的图像