从 jenkins/maven build 发布 SNAPSHOT 到 nexus

Posted

技术标签:

【中文标题】从 jenkins/maven build 发布 SNAPSHOT 到 nexus【英文标题】:Publishing SNAPSHOT to nexus from jenkins/maven build 【发布时间】:2017-09-18 06:29:24 【问题描述】:

我正在尝试将构建 jenkins/maven 的结果发布到 Nexus 存储库。

构建是一个战争SNAPSHOT,这里是POM的开始:

<http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.elis</groupIenter code hered>
<artifactId>accueil_ce</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>accueil_ce</name>

我使用 clean install maven 目标进行构建。

我已经为 jenkins 安装并配置了 Nexus Repository Manager Publisher 插件,以便它可以在构建后步骤中发布到我的 nexus Repo。

问题是:

如果我在 Nexus 中将 repo 配置为“快照”和“允许重新部署”,则在配置作业的构建后步骤“Nexus Repository Manager Publisher”时,它不会出现在 Jenkins 中可用的 repo 列表中.

如果我在 Nexus 中将存储库配置为“发布”和“允许重新部署”,那么在运行 jenkins 作业时出现以下错误:

java.io.IOException:com.sonatype.nexus.api.exception.RepositoryManagerException: 无法上传组件:错误请求版本 0.0.1-SNAPSHOT 与存储库策略不匹配!

我不明白,没有办法使用这个插件从 jenkins 构建中将 SNAPSHOT 发布到 nexus 吗??

【问题讨论】:

***.com/questions/14211697/… 【参考方案1】:

您需要在 pom 中添加分发管理来控制快照和发布 repos。

见https://maven.apache.org/pom.html#Distribution_Management和How to configure maven project to deploy both snapshot and releases to Nexus?

【讨论】:

以上是关于从 jenkins/maven build 发布 SNAPSHOT 到 nexus的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins maven 发布颠覆拷贝失败

Jenkins maven 发布凭证

Jenkins02:Jenkins+maven+svn集成

[ jenkins ] git+jenkins+maven + ansible 部署java程序

Jenkins:批量自动将 Maven 类型 Job 迁移到自由风格类型

jenkins+maven+ansible实现测试环境完全自动发布