我有几个使用共享资源(数据库)的作业,有时可能导致构建在(罕见)事件中失败,即同时触发作业.
例如,给定作业A到E,是否有任何方法可以指定A和C 不应该同时运行?
除了上述资源之外,构建彼此独立(不是例如在上游/下游关系中).
"暴力"方式将执行器的数量限制为一个,但如果大多数作业可以同时执行并且构建服务器上不缺乏计算资源,那么这显然不太理想.
如果另一个作业(具有特定名称)已经在运行,如何防止作业抢占执行程序?
我正在寻找类似Build Blocker 插件但用于声明式管道的东西。
我已经尝试过可锁定资源插件,但它并不能阻止作业获取执行器,作业获得执行器,然后等待资源释放以实际执行任何操作。
我们有数百个作业,因此手动配置每个作业是不切实际的,而且也很难维护。
我见过这些类似的问题,但我尝试使用相对较新的声明性管道来做到这一点