「Locable Resources Plugin」を Jenkins マルチパイプライン機能と一緒に使用しています。
lock('my-resource-name') {
}
あるパイプラインでリソースをロックし、別のパイプラインでロックを解除する必要がある状況があります。回避策はありますが、可能であればロック プラグインを使用することをお勧めします。
このようなことを想像します
lock("my-resource-name")
.....
unlock("my-resource-name)
その理由
私はカナリア リリースを実装しており、パイプラインには 3 つの異なるパスがあります (入力プラグインを使用してパイプラインを一時停止するなど、他のソリューションを検討しました。これ以上のものを提供することは、この質問の範囲外です)。カナリアの評価中にパイプラインをロック/停止し、プロモーションまたはロールバックが完了したら、再度ロックを解除したいと考えています。lock
ステートメントの本文を省略すると、java.lang.IllegalStateException: There is no body to invoke