簡體   English   中英

Hudson Maven釋放Subversion

[英]Hudson Maven Release Subversion

我現在正在嘗試將近2天來使用maven和hudson運行發布插件。 我現在安裝了一個svn客戶端(不知道為什么我需要這個,因為Hudson有一個SVN插件)並且該插件能夠運行“mvn”命令。 現在重新啟動hudson和作業后,我收到以下錯誤:

org.apache.maven.lifecycle.LifecycleExecutionException:無法執行目標org.apache.maven.plugins:maven-release-plugin:2.0:在項目框架上准備(default-cli):無法檢查本地修改提供者消息: svn命令失敗。 命令輸出:svn:E155036:請參閱'svn upgrade'命令svn:E155036:工作副本'C:.hudson \\ jobs \\ Project 1 \\ workspace'太舊了(格式8,由Subversion 1.4創建)

我在這做錯了什么? 看起來我正在使用這個插件嚴重錯誤,因為我從一個錯誤踩到另一個錯誤。

謝謝你的幫助!

SVN中的工作副本基於您使用的svn客戶端的版本。 隨着時間的推移,這些可能是不兼容的(這是好的,因為它們總是給你一個易於升級的系統,通常這會自動發生),但從sVN v 1.4到最新版本(1.7)不會給你通常的自動升級可愛。 事實上,使用svn 1.4完成原始結賬可能是一個壞主意,因為這是古老的。

所以,你需要找出原始結賬的內容。 如果它是插件,那么轉儲它。 我不認為當前版本的Hudson有這么老的svn客戶端,即使他們還沒有升級到1.7,它至少會在1.6.x上。

檢查maven插件,看看它有多久,以及svn插件(以及你的hudson安裝)。

剛剛在詹金斯處理了Maven的發布,我感到很痛苦。

其他人已經回答了您的問題:您需要確保使用相同工作副本的所有SVN客戶端都是相同的版本。

但是要回答你為什么需要一個命令行SVN客戶端的元問題,這是因為maven-release-plugin不僅僅是從SVN中提取數據,它實際上必須提交標記修訂,而Hudson不會提供一種機制。 另外, maven-release-plugin不能依賴Hudson提供的東西,因為Maven用於Hudson不可用的許多其他環境(例如,來自命令行)。

如果您的問題實際上是為什么maven-release-plugin不能使用純Java SVN客戶端而不依賴於命令行客戶端,那么答案是因為許可問題( SVNKit庫無法分發)根據ASF許可證 )。 但是,您可以使用名為maven-scm-provider-svnjava實現。 我自己沒試過,所以YMMV。

您在本地運行的Subversion for Windows客戶端版本可能是您的TortoiseSVN更高版本...搜索Sourceforge“Subversion for Windows”查找舊版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM