初めて UCM Clearcase 用に Cruisecontrol.net を構成しようとしています。以下は、ccnet.config ファイルの sourceControl タグです。
<sourcecontrol type="clearCase">
<branch>123_India_Release</branch>
<autoGetSource>true</autoGetSource>
<viewName>admin_123_CRUISE</viewName>
<viewPath>$(ViewDirectory)</viewPath>
<useLabel>false</useLabel>
<useBaseline>false</useBaseline>
<executable>cleartool.exe</executable>
</sourcecontrol>
次のエラーが常に表示されます。
ThoughtWorks.CruiseControl.Core.CruiseControlException: ソース管理操作に失敗しました: cleartool: エラー: VOB 内のオブジェクトではありません: "PATH TO THE VIEW"
次のパラメータを使用して、任意のディレクトリから cleartool を実行すると:
cleartool.exe lshist -r -nco -branch "123_India_Release" -since 05-Dec-2012.14:38:18 -fmt
同じエラーが発生します。しかし、cleartool を実行する前に作業ディレクトリを $(ViewDirectory) に変更すると、問題なく動作します。
$(ViewDirectory) から Cruisecontrol.net に cleartool.exe を実行させるにはどうすればよいですか? <workingDirectory>$(ViewDirectory)</workingDirectory>
以前にタグを追加しようとしまし<executable>cleartool.exe</executable>
たが、うまくいきませんでした。
どんな助けでも大歓迎です。
編集1:
回避策として、次のことを行いました。
<exec>
<executable>cleartool.exe</executable>
<baseDirectory>d:\Workspace\123_India_Release\VOB</baseDirectory>
<buildArgs>update -force</buildArgs>
<buildTimeoutSeconds>6000</buildTimeoutSeconds>
</exec>
これをタスクタグに追加しました。次のことを行う毎時トリガーを構成しました。
1) スナップショット ビューの更新
2) タスク タグに記載されている VS 2010 ソリューションをビルドします。
制限事項は次のとおりです。
1) トリガーは毎時です。コミットベースのトリガーにしたい。
2) これは回避策です
編集2:
さらに実験を行った結果、ccnet.exeが正常に動作することが明らかになりました。必要なことはすべて実行します。この問題はサービスccserviceによって引き起こされます。
ccservice を一旦停止し、 ccnet.exeを起動しました。そのままにしておこうと思います。