将nexus内部版本号与hudson / jenkins内部版本号同步

时间:2011-03-04 20:51:30

标签: maven hudson nexus jenkins

我想告诉nexus为已部署的快照提供与分配给构建的jenkins相同的内部版本号。

澄清:

<?xml version="1.0" encoding="UTF-8"?>
<metadata modelVersion="1.1.0">
  <groupId>com.bmw.psdz</groupId>
  <artifactId>psdz-api</artifactId>
  <version>4.3.3-SNAPSHOT</version>
  <versioning>
    <snapshot>
      <timestamp>20110304.122623</timestamp>
      <buildNumber>4</buildNumber> <!-- this should be same build number as jenkins assigned to the build -->
    </snapshot>
    <lastUpdated>20110304122623</lastUpdated>
    <snapshotVersions>
      <snapshotVersion>
        <extension>jar</extension>
        <value>4.3.3-20110304.122623-4</value>
        <updated>20110304122623</updated>
      </snapshotVersion>
      <snapshotVersion>
        <extension>pom</extension>
        <value>4.3.3-20110304.122623-4</value>
        <updated>20110304122623</updated>
      </snapshotVersion>
    </snapshotVersions>
  </versioning>
</metadata>

有可能吗?

2 个答案:

答案 0 :(得分:3)

在Hudson / Jenkins中,您可以使用${BUILD_NUMBER}作为构建中的参数。将其传递给您的maven版本,如mvn clean package -Dbuild.number=${BUILD_NUMBER},或者在后期构​​建步骤中使用它。

这可能会帮助您找到答案,但我不太了解Nexus提供完整的解决方案。

答案 1 :(得分:-1)

如果是我,如果我关心版本信息,我会在maven \ nexus中使用已发布的artefact版本。我通常不会关心(或者想要)区分不同的SNAPSHOT版本。

您是否可以使用maven-release-plugin创建版本作为构建的一部分?这可能包括Hudson内部版本号和\或VCS修订版号作为版本控制方案的一部分。