4

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

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

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

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

<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 推送到我选择的存储库,而不是默认为源吗?我觉得这是由 <scm/> 中的 <connection/> 元素的要求所暗示的。
4

1 回答 1

4

当 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 更新。

于 2010-04-13T17:57:16.867 回答