|
This section explains how to configure CVS to trigger a build when the repository is changed. This involves installing two scrips:
The following commands and script files assume that your CVS server runs on a UNIX- or Linux-based operating system. If your CVS server runs on any other operating system, then you will need to modify the script files and if necessary, the commands below to suit that operating system.
First check out your repository's CVSROOT directory into a temporary directory:
cvs -d cvsroot-to-your-repository checkout CVSROOT |
where:
cvsroot-to-your-repository is the root directory pathname of the CVS repository.-d cvsroot-to-your-repository overrides the any $CVSROOT environment variable setting.The following files should be checked out:
U CVSROOT/checkoutlist U CVSROOT/commitinfo U CVSROOT/config U CVSROOT/cvswrappers U CVSROOT/editinfo U CVSROOT/loginfo U CVSROOT/modules U CVSROOT/notify U CVSROOT/rcsinfo U CVSROOT/taginfo U CVSROOT/verifymsg |
Add a line like the following example's to the CVSROOT/commitinfo pre-commit trigger file. The CVSROOT/commitinfo file contains the list of programs to run whenever a file is about to be committed to the repository.
^Moo /path-to-your-bamboo-installation/scripts/cvs-triggers/preCommit.sh |
where:
^Moo is the regular expression used to identify the name of the module (called Moo) being updated./path-to-your-bamboo-installation/scripts/cvs-triggers/preCommit.sh is the Bamboo shell script used to detect the last file of the check in.Add a line like the following example's to the CVSROOT/loginfo post-commit trigger file. The CVSROOT/loginfo file contains the list of programs to run whenever a file has been successfully committed into the repository.
^Moo /path-to-your-bamboo-installation/scripts/cvs-triggers/postCommitBuildTrigger.sh %{} http://bamboo-base-url MOO-KEY |
where:
^Moo is the regular expression used to identify the name of the module (called Moo) being updated./path-to-your-bamboo-installation/scripts/cvs-triggers/postCommitBuildTrigger.sh is the Bamboo shell script to trigger the build.%{}
is how CVS tells the postCommitBuildTrigger.sh script which directory it is committing.http://bamboo-base-url
is the URL of the Bamboo server.MOO-KEY the key of the Bamboo plan to be executed.Commit the changes you made to the CVSROOT/commitinfo and CVSROOT/loginfo files in step 2 and 3, respectively, back to the repository.
cvs -d cvsroot-to-your-repository commit |
where:
cvsroot-to-your-repository is the root directory pathname of the CVS repository.-d cvsroot-to-your-repository overrides the any $CVSROOT environment variable setting.Conduct a 'test' commit. Bamboo should start building the relevant plan after a few seconds.
The Bamboo log file should contain an entry like this:
[INFO] com.atlassian.bamboo.build.UpdateAndBuild - Bamboo build was triggered by remote http call from 127.0.0.1 |
|
CVS
Configuring Source Code Management Triggers for Subversion