如何为Maven发布设置标签

oct*_*ian 1 git maven jenkins

我正在使用Maven 发布插件,并尝试用我的 Jenkins 版本号标记每个版本。

我已经尝试过这个pom.xml

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
        <version>2.5.3</version>
        <configuration>
          <tagNameFormat>${env.BUILD_NUMBER}</tagNameFormat>
        </configuration>
      </plugin>
Run Code Online (Sandbox Code Playgroud)

当我调用 Maven 时,也来自 Jenkins:

mvn release:prepare -tag=${env.BUILD_NUMBER}
Run Code Online (Sandbox Code Playgroud)

但是,我得到:

Unable to tag SCM
[ERROR] Provider message:
[ERROR] The git-tag command failed.
[ERROR] Command output:
[ERROR] fatal: tag 'my-project-1.3' already exists
Run Code Online (Sandbox Code Playgroud)

我不确定1.3代表什么。

那么我如何标记发布呢?我做错了什么吗?

Ess*_*Boy 5

你的 pom 可能是 1.3-SNAPSHOT 版本

mvn release:prepare
Run Code Online (Sandbox Code Playgroud)

将版本更新为 1.3,在您的案例 my-project-1.3 中创建 git 标签“artifactid-version”,然后将 pom 中的版本设置为 1.4-SNAPSHOT 以进行下一次迭代。

要解决您的问题,请删除标签,请参阅如何删除 git 远程标签? 然后再次运行 mvn release:prepare 。

您可能需要将版本设置回 1.3-SNAPSHOT,这可以通过以下方式完成

mvn versions:set -DnewVersion=1.3-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

或者只是编辑你的pom/poms。