I have a linux build machine with JBoss, UCM ClearCase and ant installed. I would like to find out how to configure a continuous integration using Hudson and Hudson clearcase plugin. Can I use an existing dynamic view that is already created. Please give me some basic steps. Thank you in advance.
R – Hudson integration with UCM ClearCase
clearcasecontinuous integrationhudson
Related Solutions
You can start by this SO question on how to list private files.
Then it depends on the nature of your ClearCase view.
On a dynamic view for instance, a simple ct lsprivate
list private files (including hijacked ones) and checkout files.
The official command is cleartool lscheckout
(or 'lsco
').
If you are within the right vob within your view:
$/path/to/view/vobs/aVob
cleartool lsco -rec -cview
,should list all checked out files from any user in any sub-directories of said vob.
But if your build is broken because of files checked out in several vobs, then you need to widen the scope:
$/path/to/view/
cleartool lsco -avobs -cview
(you don't need to be in a specific vob in this case)
As Manjunath K Mayya points out in the comments:
To list only the file names, without the version details, we can use "
short
":cleartool lsco -short -avobs -cview
Both are open source projects, but you do not need to change buildbot code to "extend" it, it is actually quite easy to import your own packages in its configuration in which you can sub-class most of the features with your own additions. Examples: your own compilation or test code, some parsing of outputs/errors to be given to the next steps, your own formating of alert emails etc. there are lots of possibilities.
Generally I would say that buildbot is the most "general purpose" automatic builds tools. Jenkins however might be the best related to running tests, especially for parsing and presenting results in nice ways (results, details, charts.. some clicks away), things that buildbot does not do "out-of-the-box". I'm actually thinking of using both to have sexier test result pages.. :-)
Also as a rule of thumb it should not be difficult to create a new tool's config: if the specification of what to do (configs, builds, tests) is too hard to switch from one tool to another, it is a (bad) sign that not enough configuration scripts are moved to the sources. Buildbot (or Jenkins) should only call simple commands. If it is simple to run tests, then developers will do it as well and this will improve the success rate, whereas if only the continuous integration system runs the tests, you will be running after it to fix the new code failures, and will loose its non-regression value, just my 0.02€ :-)
Hope it'll help.
Best Answer
Yes you can use an existing dynamic view.
The principle is:
/view/yourView
)Off course, you will need the ClearCase plugin to be installed first.
Here is an illustration (complete with the mandatory Freehand Circles) of what the configuration of such a Job looks like:
alt text http://img405.imageshack.us/img405/3261/jobhudsoncc2.png
(Note: M:\myView instead of /view/MyView: that is because I am making this example on my Windows7 laptop)
The documentation of the "Use existing dynamic view" mentions:
I recommend checking the option Do Not Reset Config Spec to preserve the existing config spec of your view.
That means the protection on this view are somehow false:
Could you go on the server in
/view/vijaym_SNDBX_INT_View
et typePossible cause of error:
umask != 2
(type 'umask
' to check the value, if different from 2, type 'umask 2
')id -a
'Solution: reset the protection on that view (make sure our path references
/usr/atria/etc/utils
, wherefix_prot
is)