1

現在、SVN を使用して CruiseControl.NET をセットアップし、リポジトリからコード ソースを自動的に取得しています。SVN サーバーに問題が発生した後、別の SVN の場所を再作成し、ccnet.config ファイルでその場所を変更しました。これにより、CruiseControl.NET がまだ古い SVN リポジトリから取得しようとしているときに問題が発生しました。

CruiseControl.NET サービスを再起動し、プロジェクトに関連するアーティファクトやその他のファイルを削除し、プロジェクト名を変更しようとしましたが、間違った SVN の場所からコードを取得しようとします。

私が得ているエラーはこれです:

    ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation
     failed: 
     svn: OPTIONS of 'http://local.oldsvnserver/svn/OldRepository': authorization      
     failed (local.oldsvnserver). 

     Process command: C:/Program Files (x86)/Subversion/svn.exe update --username username--password password --non-interactive --no-auth-cache at 
     ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo) at 
     ThoughtWorks.CruiseControl.Core.Sourcecontrol.Svn.GetSource(IIntegrationResult result) at 
     ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult result)

新しいソース管理ブロックは次のとおりです。

<sourcecontrol type="svn">
  <executable>C:/Program Files (x86)/Subversion/svn.exe</executable>
  <trunkUrl>http://local.newsvnswever/svn/SiteRepository/</trunkUrl>
  <username>username</username>
  <password>password</password>
  <autoGetSource>true</autoGetSource>
  <workingDirectory></workingDirectory>
</sourcecontrol>

どんな助けでも素晴らしいでしょう、

クリスNTR

4

2 に答える 2

2

次のことを試してください。

  1. CCNetを停止
  2. ccnet.config に古いリポジトリの場所への参照がないことを確認します。
  3. プロジェクトの状態ファイルを吹き飛ばします。ファイルは PROJECTNAME.state と呼ばれます。
  4. プロジェクトの作業ディレクトリを吹き飛ばします。
  5. マシンを再起動します (CCNet サービスが再起動すると想定しています)。

これにより、ほぼすべてが一掃され、問題の原因となっている CCNet の古いものが排除されるはずです。

于 2009-01-28T16:20:34.023 に答える
0

「認証に失敗しました」は、認証は成功した (つまり、ユーザーがわかっている) が、そのユーザーがそのリポジトリ フォルダー (またはリポジトリ全体) へのアクセス権を持っていない (つまり、ユーザーが認証されていない) ことを意味します。

svn サーバーの構成を確認してください。

于 2009-01-28T16:25:15.933 に答える