【问题标题】:Using maven-release-plugin to tag and commit to non-origin使用 maven-release-plugin 标记并提交到非来源
【发布时间】:2011-02-07 02:47:34
【问题描述】:

当我发布我的项目时,我想与比我通常在开发期间更广泛的人共享源代码。代码通过 Git 存储库共享。为此,我使用了以下内容:

在我的本地 git 存储库中,我定义了以下遥控器:

origin  http://example.com/private
public  http://example.com/public

我目前正在尝试配置 maven-release-plugin 来管理构建的版本控制,并管理代码的标记和推送到公共存储库。在我的 pom.xml 中,我列出了 如下:

<scm><connection>scm:git:http://example.com/public</connection></scm>

(去掉这行会导致 mvn release:prepare 失败)


但是,调用时

mvn release:clean release:prepare release:perform

Maven 调用

git push origin tagname

而不是推送到 POM 中指定的 URL。

所以问题是:

  1. 最佳实践:我是否应该在我的私人仓库(来源)中标记和提交,然后手动推送到公共?
  2. 我可以让 Maven 推送到我选择的存储库,而不是默认到源吗?我觉得这是由 中的 元素的要求所暗示的。

【问题讨论】:

  • (对不起,如果这有点漫无边际。)
  • 这看起来像 maven-release-plugin 的一个错误:maven 将标签推送到本地源(git push origin 标签名),然后尝试从 pom 中指定的远程检查它(git拉example.com/public 标记名)。

标签: git maven-2 maven-release-plugin


【解决方案1】:

当 scm.connection 存储库与源不同时释放在 maven-release-plugin(或相关的 git 插件)的 2.0 版本中已修复。为了更改为这个版本,我在我的 POM 中添加了以下内容:

<project>
    ...
    <build>
        <plugins>
            ...
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.0</version>
            </plugin>
            ...
        </plugins>
    </build>
    ...
</project>


顺便说一句,Maven 将 maven-release-plugin 版本 2.0-beta-9 视为比 2.0 更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 2012-08-28
    • 2013-07-05
    • 2011-02-22
    • 1970-01-01
    相关资源
    最近更新 更多