我有一个使用Maven构建的Spring应用程序。 Jenkins声明管道正用于实现CI / CD。
我希望我的Jenkinsfile尽可能通用,利用POM及其父POM中已有的功能。我们使用自定义Super POM来集中元数据,例如我们的Artifactory存储库(distributionManagement />),SonarQube服务器和一些其他有价值的属性。
我已经使用readMavenPom().getParent().getGroupId()
来获取我们公司的标准groupId,以及readMavenPom().getArtifactId()
,readMavenPom().getVersion()
和readMavenPom().getPackaging()
。
我想访问元数据,以便将其用于将二进制文件发布到Artifactory的管道步骤。
查看Parent class,我看不到distributionManagement标记的任何getter。我确实在ModelBase下看到了它。
如何从Jenkins文件中访问这些详细信息?
谢谢
答案 0 :(得分:3)
关键是继承解决方案只在Maven本身完成,但在Jenkins中没有。
您可以尝试通过mvn -N help:effective-pom -Doutput=result.xml
获取此信息,并为readMavenPom('result.xml')