如何使用Jenkins多配置作业

时间:2017-03-14 13:55:44

标签: maven jenkins nexus

我试图在建议中找到这个问题的答案 上面出现的问题,以及通过谷歌,但我找不到解决方案。

我有一个maven项目,在构建时会激活正确的配置文件 正在构建的平台。

Windows配置文件,下载源代码并使用分类器将Windows二进制文件构建到工件中:

  • 的Myproj-版本快照w64.jar

linux配置文件,下载源代码并构建Linux二进制文件 使用分类器进入工件:

  • 的Myproj-版本快照lx86_64.jar

它还构建了java代码工件:

  • 的Myproj版本-SNAPSHOT.jar

我已经将它设置为Jenkins 2中的多配置作业,带有轴 只包含Linux和Windows节点的标签。这构建了两者 正确,并已将它们部署到Nexus。

但是,选项Release Maven Project不作为选项提供 这项工作,我不确定如何发布二进制文件。有了 Maven Jenkins工作,显然可以选择。

如何在Jenkins 2中设置我的多配置作业,以进行发布。 我想它需要做以下事情:

在主节点上:

  1. 清理工作区,然后拉出git存储库
  2. 将POM更新为发布版本(strip -SNAPSHOT)
  3. 推送更改并标记发布(myproj-version)
  4. 触发轴节点上的构建
  5. 在Windows节点上:

    1. 清理工作区然后拉出git存储库 - 这将是 发布标记为
    2. 的版本
    3. 构建并部署1个工件
    4. 在Linux节点上:

      1. 清理工作区然后拉出git存储库 - 这将是 发布标记为
      2. 的版本
      3. 构建并部署2个工件
      4. 在主节点上:

        1. 更新下一个开发版本的POM(版本+1并添加 -SNAPSHOT)
        2. 将上述更改推送到存储库
        3. 更新:现在Nexus也存在问题。 Windows节点完成 首先,并部署其1个工件。 linux节点完成并部署它 2个文物。所有3件工件(共享同一组) 和工件id),存在。然后删除了windows工件。

          更新2 :Nexus删除Windows工件的原因是 maven使用工件发布的maven-metadata.xml。一个发表于 windows包含1个工件和pom。 linux包含另一个 2个工件,并覆盖第一个。 Nexus因此清除了SNAPSHOT 它认为不再建造/需要的工件。

          摘要

          现在有两个问题:

          1. 如何合并来自2个节点的maven-metadata.xml
          2. 我如何发布工件
          3. 谢谢,

0 个答案:

没有答案