无法使用 Maven 构建配置文件在 Jenkins 中构建
Posted
技术标签:
【中文标题】无法使用 Maven 构建配置文件在 Jenkins 中构建【英文标题】:Unable to Build in Jenkins with Maven Build Profile 【发布时间】:2018-10-01 21:11:54 【问题描述】:我正在尝试在 Jenkins 中构建一个构建配置文件 ID 为 pom.xml
的 maven 项目。但是 Jenkins 仅使用开发配置文件进行构建,而没有捕获任何其他配置文件。使用相同的pom.xml
。
我已经尝试在命令提示符下构建,它工作正常,但我无法在 Jenkins 中完成。
【问题讨论】:
为什么需要配置文件来构建项目? 您好,感谢您的回复。我们正在使用构建配置文件在不同环境中进行管道部署,我们有开发人员也使用的中心化 pom.xml 文件。相同的代码需要部署在 SIT/UAT/Preprod/Live.. 这不是 Maven 的任务,它更像是 Jenkins 的任务..所以您应该为每个环境构建适当的工件,或者拥有一个部署到适当环境的工件并丰富部署环境的适当配置..问题也是环境之间的区别是什么? 好吧,我在 SVN 中创建了一个新的分支,开发人员无法访问它,并将项目对象模块名称的名称从 pom_updated.xml 更改为 pom.xml ...重命名 pom 工作我.. 可能很傻,但我需要重命名 pom。 【参考方案1】:我在运行 Jenkins 版本的 maven 3.3.9 时遇到了类似的问题。 2.138。 到目前为止,经过耗时的反复试验,我发现 Jenkins 不能容忍 -P 和配置文件名称之间的空格,它只能处理单个配置文件。所以你应该能够得到这样的东西:
mvn groupId:artifactId:goal -Pprofile-1-only
【讨论】:
【参考方案2】:你是如何设置你的 Jenkins 来运行命令的?
应使用 -P 选项指定配置文件:
mvn groupId:artifactId:goal -P profile-1,profile-2
http://maven.apache.org/guides/introduction/introduction-to-profiles.html
我的猜测是,在您的 Jenkins 配置(构建步骤)中,您没有指定任何内容,或者您提供了错误的配置文件。
你能告诉我们吗?
【讨论】:
我在 Maven 项目的构建步骤中提供了配置文件为 (clean install -Psit) 和 pom.xml。坐姿配置文件在 pom.xml 中可用,我已经尝试过,但它不起作用,只能捕获开发配置文件 您在 Jenkins 中使用什么命令来构建您的应用程序?听起来您的 maven 设置很好,但您的 Jenkins 设置可能缺少一个选项。以上是关于无法使用 Maven 构建配置文件在 Jenkins 中构建的主要内容,如果未能解决你的问题,请参考以下文章