Jenkins管道,通过yaml config注入其他逻辑

为Maven构建创建了Jenkins管道作为共享库(/ vars文件夹中的多个groovy文件)。
该管道具有所有标准阶段,例如签出,构建,测试,Sonarqube扫描和发布到Nexus,这对于大多数用户而言已经足够。

Jenkins文件只有两行

from homepage.models import Address
Address.objects.all()

,由@library('FOOBAR_SHARED') _ mvnDeployPipeline() checkout scm之后的pipeline.yaml文件驱动,例如

readJson()

为使此管道更加有用,我希望用户能够“注入”附加逻辑。
首先,他们可能需要采取一些初步行动,并且毕竟需要采取一切行动,例如最初的SCP,然后开始另一个
释放后作为下游作业的管道。

试图那样实现

pipeline.yaml具有其他条目

mvnVersion: 3.6.1
javaVersion: 13.0.1
mvnReleaseBranchPattern: master
...

和/ vars中的另一个groovy文件addStage.groovy(如果设置了相关属性,则会调用该文件)
并使用yaml的“原样”属性:

before: |  
    println 'foo'  
    println 'bar'
...  
after: |  
    println 'foo'  
    println 'bar'  
  } 

例如之前为def call(String mapvalue,String name) { stage(name) { mapvalue } } ,则是pipeline.yaml
的(多行)属性 但是地图值例如之前,仅回显到jobconsole而不执行。

这有可能吗?

qf0923 回答:Jenkins管道,通过yaml config注入其他逻辑

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3114899.html

大家都在问