从Jenkinsfile访问父POM属性

问题描述 投票:0回答:1

我有一个使用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 jenkins-pipeline
1个回答
3
投票

关键是继承解决方案只在Maven本身完成,而在Jenkins中完成。您可以尝试通过mvn -N help:effective-pom -Doutput=result.xml获取此信息并为readMavenPom('result.xml')提供参数

© www.soinside.com 2019 - 2024. All rights reserved.