2012-03-13 194 views
2

嗨我有問題連接我的jenkins SVN與https協議。我可以通過http協議訪問其他SVN倉庫,但不能通過https訪問。出於某種原因,我的svn回購必須使用https;Jenkins SVN使用https協議

我似乎無法找到jenkins如何從存儲庫檢出/更新的解決方案。 錯誤是這樣的

at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:291) 
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:276) 
    at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:264) 
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516) 
    at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98) 
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001) 
    at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178) 

有什麼建議嗎?

+1

服務於SVN存儲庫的HTTP服務器是否使用自簽名證書或某些自定義提供的證書?它可能不在全局證書文件中。 – 2012-03-13 10:04:53

+2

是否有登錄到驅動Jenkins的服務器的選項,並嘗試'svn log <你的倉庫的HTTPS-URL>'?因此,您將被要求接受證書(如果這是錯誤),那麼Jenkins可能會相應地使用SVN。 – mliebelt 2012-03-13 11:28:54

+0

確保您的存儲庫未使用Kerberos進行身份驗證。如果是,[看到這個](https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin+HTTPS+Kerberos+authentication)。 – 2012-03-13 13:27:37

回答

3

我有一個類似的問題,因爲@milebelt上面寫道,嘗試從機器內部連接到SVN服務器與一個SVN客戶端運行(用相同的用戶詹金斯運行)(你必須安裝一個if它沒有安裝,雖然許多發行版帶有一個預安裝)

這將創建一個證書和~/.svn(defauly文件夾)下的密鑰,如果我沒有記錯的話。

後來,當您從Jenkins運行構建時,它將使用之前創建的svn客戶端的密鑰進行身份驗證。