Hudson

標記不適用於 Subversion 外掛

  • October 4, 2015

我正在使用帶有 Subversion 外掛的 Jenkins 1.417。當我嘗試標記建構時,沒有任何反應。沒有消息,沒有錯誤,沒有創建標籤。

所以,我的問題是 -當版本控制是 Subversion 時如何在 Jenkins 中標記建構

附加資訊:

當我嘗試在不提供憑據的情況下標記建構時,操作失敗:

Tagging svn://dev-profiler/common/trunk (rev.65) to svn://dev-profiler/common/tags/Test-1
ERROR: Failed to tag
org.tmatesoft.svn.core.SVNCancelException: svn: No credential to try. Authentication failed
   at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
   at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
   at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:219)
   at org.tmatesoft.svn.core.internal.io.svn.sasl.SVNSaslAuthenticator.createSaslClient(SVNSaslAuthenticator.java:304)
   at org.tmatesoft.svn.core.internal.io.svn.sasl.SVNSaslAuthenticator.authenticate(SVNSaslAuthenticator.java:91)
   at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.authenticate(SVNConnection.java:173)
   at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.authenticate(SVNRepositoryImpl.java:1265)
   at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getCommitEditorInternal(SVNRepositoryImpl.java:1572)
   at org.tmatesoft.svn.core.io.SVNRepository.getCommitEditor(SVNRepository.java:2467)
   at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.copyReposToRepos(SVNCopyDriver.java:368)
   at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.setupCopy(SVNCopyDriver.java:628)
   at org.tmatesoft.svn.core.wc.SVNCopyClient.doCopy(SVNCopyClient.java:426)
   at hudson.scm.SubversionTagAction$TagWorkerThread.perform(SubversionTagAction.java:262)
   at hudson.model.TaskThread.run(TaskThread.java:126)
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: No credential to try. Authentication failed
   at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
   at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146)
   at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89)
   ... 14 more
Completed

這很好,因為當沒有提供憑據時它應該會失敗。因此,負面路徑按預期工作。

附言

完全相同的問題在此處以及jenkins 問題網站相應的 google group上都有描述。一切都無濟於事。

聚苯乙烯

我意識到,沒有日誌,幾乎什麼都做不了,但是必須知道記錄器的名稱才能啟動它們並生成日誌,我不知道。如果有人向我提供記錄器名稱,那麼我很樂意發布日誌。

編輯

我將 hudson.scm 日誌啟動到所有級別。這就是那裡出現的內容:

03/07/2011 10:10:08 hudson.scm.SubversionSCM$DescriptorImpl$SVNAuthenticationProviderImpl fromProvider    FINE: global.requestClientAuthentication(svn.simple,svn://dev-profiler/common,<svn://dev-profiler:3690> Temporary Shunra Repository)=>null
03/07/2011 10:10:08 hudson.scm.SubversionSCM$DescriptorImpl$RemotableSVNAuthenticationProviderImpl getCredential    FINE: getCredential(<svn://dev-profiler:3690> Temporary Shunra Repository)=>null
03/07/2011 10:10:08 hudson.scm.SubversionSCM$DescriptorImpl$SVNAuthenticationProviderImpl fromProvider    FINE: local.requestClientAuthentication(svn.simple,svn://dev-profiler/common,<svn://dev-profiler:3690> Temporary Shunra Repository)=>null

現在,當我嘗試標記時,我看到了這個錯誤:

ERROR: Failed to tag
org.tmatesoft.svn.core.SVNCancelException: svn: No credential to try. Authentication failed
   at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)
   at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)
   at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirstAuthentication(DefaultSVNAuthenticationManager.java:219)
   at org.tmatesoft.svn.core.internal.io.svn.sasl.SVNSaslAuthenticator.createSaslClient(SVNSaslAuthenticator.java:304)
   at org.tmatesoft.svn.core.internal.io.svn.sasl.SVNSaslAuthenticator.authenticate(SVNSaslAuthenticator.java:91)
   at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.authenticate(SVNConnection.java:173)
   at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.authenticate(SVNRepositoryImpl.java:1265)
   at org.tmatesoft.svn.core.internal.io.svn.SVNRepositoryImpl.getCommitEditorInternal(SVNRepositoryImpl.java:1572)
   at org.tmatesoft.svn.core.io.SVNRepository.getCommitEditor(SVNRepository.java:2467)
   at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.copyReposToRepos(SVNCopyDriver.java:368)
   at org.tmatesoft.svn.core.internal.wc.SVNCopyDriver.setupCopy(SVNCopyDriver.java:628)
   at org.tmatesoft.svn.core.wc.SVNCopyClient.doCopy(SVNCopyClient.java:426)
   at hudson.scm.SubversionTagAction$TagWorkerThread.perform(SubversionTagAction.java:262)
   at hudson.model.TaskThread.run(TaskThread.java:126)
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: No credential to try. Authentication failed
   at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:200)
   at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:146)
   at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:89)
   ... 14 more
Completed

這很奇怪,因為我確實提供了憑據…

您如何提供憑據?

我有同樣的問題,由於缺少/錯誤的憑據。我按照此頁面中的描述進行了操作,其中描述瞭如何更改/設置 SVN 儲存庫的憑據。

引用自:https://serverfault.com/questions/283312