Mar*_*s T 4 locking jenkins canary-deployment jenkins-pipeline
我正在将“ Locable Resources Plugin”与Jenkins多管道功能一起使用:
lock('my-resource-name') {
}
Run Code Online (Sandbox Code Playgroud)
我遇到一种情况,我需要在一个管道中锁定资源,而在另一个管道中解锁资源。我有解决方法,但如果可能的话,我希望使用锁插件。
我像这样的东西
lock("my-resource-name")
.....
unlock("my-resource-name)
Run Code Online (Sandbox Code Playgroud)
我正在实现canary版本,并且通过管道有3条不同的路径(我考虑了其他解决方案,例如使用输入插件暂停管道-为我提供更多的功能超出了此问题的范围)。我想在评估金丝雀时锁定/停止管道,然后在升级或回滚完成后再次对其进行解锁。省略身体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
Run Code Online (Sandbox Code Playgroud)
GET不是一个错误,它确实是GET。
等待锁
lock("my-resource-name") {}
Run Code Online (Sandbox Code Playgroud)
我也知道Jenkins支持所谓的“里程碑”,这显然是用于内部版本之间进行通信的东西。但是我不知道是否可以用它以任何有意义的方式解决这个问题。
归档时间: |
|
查看次数: |
2506 次 |
最近记录: |