我有一个使用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下看到它。
如何从Jenkinsfile访问这些详细信息?
谢谢
关键是继承解决方案只在Maven本身完成,而在Jenkins中完成。您可以尝试通过mvn -N help:effective-pom -Doutput=result.xml
获取此信息并为readMavenPom('result.xml')
提供参数