|
CruiseControl.NET : Rational ClearCase Source Control Block
This page last changed on Sep 11, 2008 by williams.
Rational ClearCase ConfigurationTypical / Minimal ConfigurationFor most uses the following is all you'll need in your ccnet.config: <sourcecontrol type="clearCase"> <viewPath>C:\PATH\TO\SOURCE</viewPath> <autoGetSource>true</autoGetSource> </sourcecontrol> This will:
<viewPath> doesn't have to be the root of the local ClearCase view. It may be any of the root's children or even a single object. Full Configuration<sourcecontrol type="clearCase"> <viewPath>C:\PATH\TO\SOURCE</viewPath> <branch>main</branch> <autoGetSource>false</autoGetSource> <useLabel>true</useLabel> <useBaseline>false</useBaseline> <projectVobName>PROJECT_VOB_NAME</projectVobName> <viewName>PROJECT_VIEW_NAME</viewName> <executable>cleartool.exe</executable> <timeout>50000</timeout> </sourcecontrol>
Common ProblemsThe build is initiated when users check in on private branchesBy default, ClearCase returns a history for every file in every branch, even if the config spec limits to a single branch. You must specify <branch> in order to limit which changes CCNet can see. After the build is successful I get a "Baseline not found" error message.An example of this message is: ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: cleartool: Error: Baseline not found: "CruiseControl.NETTemporaryBaseline_05-06-2004-16-34-15". This happens when <projectVobName> is not set to the project VOB. Typically this happens when the user specifies the UCM VOB instead of the project VOB. To correct the problem, change the value in that element to the name of the project VOB. Known BugsWhen I view my baselines, I see that they're called CruiseControl.NET[something] instead of v1.0.0.4.This is a bug in ClearCase; Rational is aware of it. It only occurs if you're using baselines. CCNet creates a temporary baseline with the prefix CruiseControl.NET before renaming it to the final value, such as v1.5.2.3. Depending on how you view baselines in ClearCase, you may see the temporary or real name. For example, if you use the admin console, you'll see the old, temporary value. If use use cleartool lsbl, you'll see the correct one: M:\gsmith_GS_Project_int\GS_UCM_VOB>cleartool lsbl 06-May-04.16:28:27 v1.0.0.1 gsmith "CruiseControlTemporaryBaseline_05-06-200 4-16-28-26" stream: GS_Project_Integration@\GS_PVOB component: GS_UCM_VOB@\GS_PVOB 06-May-04.16:34:16 v1.0.0.2 gsmith "CruiseControl.NETTemporaryBaseline_05-06 -2004-16-34-15" stream: GS_Project_Integration@\GS_PVOB component: GS_UCM_VOB@\GS_PVOB CruiseControl.NET sees checkins on all branches, not just the one specified in my config specThis is due to the fact that the ClearCase history command (lshist) returns a complete history for the file, not just the history that can be seen by the config spec. The workaround is to make sure you include a <branch> element in your configuration. This will force ccnet to just see changes on that branch. CruiseControl.NET doesn't see my changesMake sure the clock of your build server is synchronised to the clock of your ClearCase server. See CCNET-271. |
| Document generated by Confluence on Mar 14, 2009 02:55 |