【问题标题】:How to upload artifact after Jenkins build to NexusJenkins构建到Nexus后如何上传工件
【发布时间】:2019-07-06 06:33:25
【问题描述】:

我有一个这样的项目结构:

- parent-project : pom.xml
  + child-project: pom.xml
  + child-project-2: pom.xml

我想将子项目的工件上传到 Nexus,所以在我的子项目的 pom.xml 文件中,我定义了:

    <distributionManagement>
        <repository>
            <id>nexus</id>
            <url>http://my-repo:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>nexus</id>
            <url>http://my-repo:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

当我在 eclipse 中使用mvn clean deploy 运行子项目时,子项目的 jar 文件会按预期上传到 my-repo nexus 存储库。

在 Jenkins 中,我有一个使用 parent-project pom.xml 配置的工作。现在我想在 jenkins 完成构建过程后将我的子项目的工件发布到 nexus。到目前为止我所做的是:

  1. 在 Jenkins 中下载并安装了 Nexus 平台插件
  2. 在 Jenkins 系统配置中使用我的 Nexus 3.x 服务器的凭据配置 Nexus Repository Manager 服务器
  3. 在 Post-Build 选项卡中,我添加了一个新的 Nexus Repository Manager Publisher,其中包含有关我的 nexus 存储库的信息,但现在卡在 Maven Artifact 会话中,如下所示:

让我感到困惑的是:

  1. 我应该在 Maven Artifact 会话中添加什么?我试过child-project/target/child-project-0.0.1-SNAPSHOT.jar,但没有用。 Jenkins 抛出异常

java.io.IOException: child-project/target/child-project-0.0.1-SNAPSHOT.jar 不存在

  1. 为什么我需要在此处指定工件的版本?是不是说每次修改子项目的版本,都得来这里修改版本?
  2. 如果我已经在我的子项目的 pom.xml 中定义了与 Info about the Nexus repo 的会话,为什么我需要在这里再次定义它?
  3. 是否可以像在 Eclipse 中那样直接使用 mvn clean deploy 配置作业构建以将工件推送到连接?如果是,那么我不再需要 Nexus Repository Manager Publisher 了吗?以及如何像我在 /.m2 文件夹中的 setting.xml 中那样配置 nexus 服务器的身份验证?

谁能帮我澄清以上几点?非常感谢!

【问题讨论】:

  • 只需使用 maven 项目并在 Build 部分添加 mvn clean deploy 也可以单击高级选项卡以指定 settings.xml 文件位置。

标签: jenkins nexus


【解决方案1】:

你不需要插件 您可以在工作中从 shell 运行 maven clean install deploy 我正在使用管道语法,所以它是实际代码,但您可以使用 jenkins ui 创建一个shell步骤

【讨论】:

  • 嗨 Tnimni,如果我不需要插件并且可以在我的工作中从 shell 运行 maven clean install deploy,那么我在哪里可以为我的关系服务器指定身份验证我在我的设置.xml?
  • 使用 jenkins 凭据存储 settings.xml 文件,然后在 Maven 构建之前结帐后将文件复制到构建目录,这实际上是插件正在执行的操作,但如果它不起作用,请使用手动方法,效果很好
  • 对不起,我并没有真正理解你的意思:“然后在 Maven 构建之前签出后将文件复制到构建目录,这实际上是插件正在做的事情”。你能在这里多解释一下吗?
  • 如果您仍然无法管理,请在此处查看完整说明support.cloudbees.com/hc/en-us/articles/… 发送 pm
猜你喜欢
  • 2014-12-25
  • 1970-01-01
  • 2014-11-27
  • 2015-11-04
  • 1970-01-01
  • 2018-02-10
  • 2017-01-04
  • 1970-01-01
  • 2019-03-30
相关资源
最近更新 更多