JenkinsのSubversionプラグインをバージョン2.2に更新しました
今、アップグレード後に初めてビルドされるリポジトリと、外部内の何かが変更されたリポジトリに対して、次のエラーが発生します。他のすべてのビルドで期待どおりに機能します。
追加の資格情報を追加しようとしましたが、これは役に立ちませんでした。
今、私は誰かがこの不快な問題を解決するために他に何が試されることができるかについての考えを持っていることを望みます。
エラー:
hudson.util.IOException2: revision check failed on http://XXX/svn/XXX/Website/Config/trunk
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.Java:189)
at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.Java:132)
at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.Java:738)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.Java:899)
at hudson.model.AbstractProject.checkout(AbstractProject.Java:1411)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.Java:671)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.Java:88)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.Java:580)
at hudson.model.Run.execute(Run.Java:1670)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.Java:46)
at hudson.model.ResourceController.execute(ResourceController.Java:88)
at hudson.model.Executor.run(Executor.Java:231)
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: OPTIONS /svn/XXX/Website/Config/trunk failed
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.Java:384)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.Java:373)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.Java:361)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.Java:707)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.Java:627)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.Java:102)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.Java:1020)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.Java:180)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.Java:118)
at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.Java:148)
at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.Java:45)
at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.Java:160)
at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.Java:35)
at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.Java:20)
at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.Java:1238)
at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.Java:294)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.Java:967)
at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.Java:872)
at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.Java:177)
... 11 more
Caused by: org.tmatesoft.svn.core.SVNCancelException: svn: E200015: 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:185)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.Java:694)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.Java:382)
... 29 more
公式のバグに関する多くのコメントの後、OK report この問題を解決することができました。
そのため、Subversionプラグインの最新の2.3スナップショットに更新する必要があります。これは次の場所にあります。
https://jenkins.ci.cloudbees.com/job/plugins/job/Subversion-plugin/
(.hpiファイルをダウンロードし、ジェンキンにインストールします)
<prot://ip:port > Company Subversion Repository
_)svn --username {username} --password {password} checkout prot://ip:port/svn/repo
_ <-チェックアウトを開始した後、これをキャンセルできますfind ~/.Subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring
_を使用して、Macで使用可能なすべてのレルムを読み取りますbuildmaster/****** (<prot://ip:port> Company Subversion Repository)
注:svn + sshを使用している場合、レルムは二重引用符なしの「svn + ssh:// server-name」のようになります。角かっこ、ポート、またはレルム名は必要ありません。
同じエラーが発生しました。 svnリポジトリはパスワードで保護されていたため。クレデンシャルを追加してsvnチェックアウトに使用すると、正常に機能します。
私はまったく同じ例外を受け取っていましたが、それはリポジトリパスでビルドパラメータを使用したためでした、例えば:
http://reposerver/svn/project/${SVN_BRANCH}
$ {SVN_BRANCH}が「トランク」に正しく設定されていた場合でも
リポジトリパスを次のように変更したとき:
http://reposerver/svn/project/trunk
すべてが今うまくいきます
この問題は、svnプラグインを1.54から2.2にアップグレードした後に発生したため、svn jenkinsプラグインの新しいバージョンにバグがあるようです。
mikepenz 'answer: のポイントを強調したい Realm ジョブ設定の(クリック後 Add additional credentials...)SVNレルムだけでなく、レルムおよび外部リポジトリの完全なURLを入力します。これは私をつまずかせました。
したがって、ジョブ設定のこの部分は次のようになります。
編集:
結局のところ、上記は状況を改善しませんでした:クレデンシャルエラーはまだ発生し、さらに外部リポジトリへのコミットはJenkinsがソフトウェアをビルドするきっかけになりませんでした。
私は勧告に従いました ここ (これは上記のアプローチに関するセキュリティ上の懸念にも言及しています)Jenkinsでmodulesを外部に使用しましたリポジトリ。
これは私のモジュール構成が外部リポジトリを探す方法です: