是否可以在共享库中共享管道定义并在多分支管道作业中使用这些定义?
我们正在尝试为所有存储库构建一个传统的声明性管道来共享。每个存储库基本上都具有相同的Jenkinsfile
。因此,我们创建了一个基本上只有conventionalPipeline
的共享管道步骤,因此每个存储库的Jenkinsfile
将是一行来调用此步骤。
由于多个分支管道项目在沙箱中运行(没有办法阻止沙箱),因此这个想法在RejectedAccessException
s的轨道上停止了。 This issue跟踪Jenkins项目中的行为。
我们可以信任conventionalPipeline
及其所做的一切,但由于它调用了不受信任的方法,我们无法在多分支管道中调用它。我们可以将它调用的所有方法列入白名单,但这会打开沙盒试图关闭的安全漏洞。
我看到有两种选择 - 如果我忽略了某些东西就很好奇
以某种方式修改jenkins以允许不受信任的方法变为受信任,并允许该方法的所有后续方法调用被隐式信任
允许在jenkins配置中为存储库而不是在SCM中定义多分支管道定义,并让此作业在沙箱外运行
感谢任何指导。