2010-04-12 61 views
3

當我發佈我的項目時,我想與我在開發過程中通常所做的更廣泛的人羣分享源代碼。代碼通過Git存儲庫共享。要做到這一點,我已經使用了以下內容:使用maven-release-plugin來標記和提交非原產地

在我的本地git倉庫,我有以下遙控器定義:

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

我目前tryi ng來配置maven-release-plugin來管理構建的版本控制,並管理代碼並將代碼推送到公共存儲庫。在我的pom.xml中,我列出了< SCM />如下:

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

(刪除此行將會導致MVN發佈:準備失敗)


但是,調用

mvn release:clean release:prepare release:perform 

Maven的調用

git push origin tagname 

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

所以問題是:

  1. 最佳實踐:如果我只是被標記,並在我的私人回購協議(產地)提交和手動推到公衆?
  2. 我可以讓Maven推送到我選擇的存儲庫,而不是默認原點?我覺得這暗示了<連接/>元素在< scm />中的要求。
+0

(對不起,如果這有點亂) – Armand 2010-04-12 17:29:13

+0

這看起來像一個使用maven-release-plugin的錯誤:maven將標記壓入本地原點(git push origin tagname),然後嘗試從遠程在pom中指定(git pull http://example.com/public標記名)。 – Armand 2010-04-13 13:43:04

回答

3

當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的是拿起行家釋放插件版本2.0-β-9比2.0更近。

相關問題