web-dev-qa-db-ja.com

Jenkins Subversionエラー-E200015:試行する資格情報がありません。認証に失敗しました

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
28
mikepenz

公式のバグに関する多くのコメントの後、OK report この問題を解決することができました。

そのため、Subversionプラグインの最新の2.3スナップショットに更新する必要があります。これは次の場所にあります。

https://jenkins.ci.cloudbees.com/job/plugins/job/Subversion-plugin/

(.hpiファイルをダウンロードし、ジェンキンにインストールします)

  1. その後、ビルドを修正する必要があります。これを行う方法についての小さなチュートリアルを作成しました here
  2. ビルド構成を開きます
  3. ソースコード管理セクションまでスクロールダウンします
  4. 「追加の資格情報を追加...」ボタンをクリックします
  5. svnサーバーの特定の識別子をレルムとして定義します->(_<prot://ip:port > Company Subversion Repository_)
    • 別のsvnで機能する場合は、このサーバーの領域を使用する必要があります
    • コマンドライン経由でこのサーバーのレポジトリをチェックアウト-> _svn --username {username} --password {password} checkout prot://ip:port/svn/repo_ <-チェックアウトを開始した後、これをキャンセルできます
    • このcmd-> _find ~/.Subversion/auth/svn.simple/ -type f -exec cat {} + | grep -A 2 realmstring_を使用して、Macで使用可能なすべてのレルムを読み取ります
      • レルムストリングを取得する別のオプションもあります。以前にSVNに接続されていなかったPCの場合、端末で次の操作を行います。「svn info prot:// ip:port/pathtorepo」->これにより、「Authentication realm:Company Subversion Repository」のようなものが出力されます
  6. 資格情報を選択します-> buildmaster/****** (<prot://ip:port> Company Subversion Repository)

注:svn + sshを使用している場合、レルムは二重引用符なしの「svn + ssh:// server-name」のようになります。角かっこ、ポート、またはレルム名は必要ありません。

  1. 保存して幸せになりましょう!
22
mikepenz

同じエラーが発生しました。 svnリポジトリはパスワードで保護されていたため。クレデンシャルを追加してsvnチェックアウトに使用すると、正常に機能します。

enter image description here

3
karim

私はまったく同じ例外を受け取っていましたが、それはリポジトリパスでビルドパラメータを使用したためでした、例えば:

http://reposerver/svn/project/${SVN_BRANCH}

$ {SVN_BRANCH}が「トランク」に正しく設定されていた場合でも

リポジトリパスを次のように変更したとき:

http://reposerver/svn/project/trunk

すべてが今うまくいきます

この問題は、svnプラグインを1.54から2.2にアップグレードした後に発生したため、svn jenkinsプラグインの新しいバージョンにバグがあるようです。

1
martinsefcik

mikepenz 'answer: のポイントを強調したい Realm ジョブ設定の(クリック後 Add additional credentials...)SVNレルムだけでなく、レルムおよび外部リポジトリの完全なURLを入力します。これは私をつまずかせました。

したがって、ジョブ設定のこの部分は次のようになります。

enter image description here

編集

結局のところ、上記は状況を改善しませんでした:クレデンシャルエラーはまだ発生し、さらに外部リポジトリへのコミットはJenkinsがソフトウェアをビルドするきっかけになりませんでした。

私は勧告に従いました ここ (これは上記のアプローチに関するセキュリティ上の懸念にも言及しています)Jenkinsでmodulesを外部に使用しましたリポジトリ。

これは私のモジュール構成が外部リポジトリを探す方法です:

jenkins external repo as module

1
Matthias Braun