Documentation for Bamboo 4.0.x. Documentation for earlier versions of Bamboo is available too.

The instructions on this page describe how to configure Bamboo to use a CVS source repository for either a plan or a job.

Configuring a CVS source repository

Navigate to the source repository settings for a plan or job, as described on Specifying the source repository.

  1. Either click Add Repository to add a new repository, or edit an existing repository configuration.
  2. Choose CVS from the Source Repository list.
  3. Enter a Display Name to help identify the repository in Bamboo.
  4. You can configure the following settings for a CVS source repository for your plan:
CVS Root

The full path to your CVS repository root (e.g. :pserver:me@cvs.atlassian.com:/cvsroot/atlassian ). Bamboo supports pserver, ext (ssh) and local repository access methods. Note that you can use global variables in this field (see Using global, plan or build-specific variables).

(info) If you are importing a Maven 2 Project, this location should contain your project's pom.xml file.

Authentication Type Password – choose this option if you want to authenticate with a password.
SSH – if you choose to authenticate using SSH, you need to provide the following details:
    • Private Key — the absolute path of your SSH private key.
    • Passphrase — the passphrase for your SSH private key.
Quiet Period

This setting is used to avoid starting a build while someone is in mid-checkin. Bamboo will only initiate a build for this plan when no more changes are detected within the Quiet Period following the last known change. Type the number of seconds Bamboo should wait. Please note that this parameter is mandatory for CVS, as CVS allows partial checkouts. 

 (Only available when configuring an existing plan) 

Module

Type the name of the CVS module that contains the source-code.

(info) Currently Bamboo has limited support for CVS ampersand modules. To use an ampersand module, you will need to define a regular module with the same name as the ampersand module (since Bamboo expects there to be a directory with the specified checkout module name). For example:

    1. Create a module (e.g. allbuilds).
    2. Define an ampersand module with the same name. (The ampersand module can be empty.)
    3. In the Module field, enter the following: allbuilds allbuilds &project2 &project2 &project3
Version of module

The version of the module that Bamboo should build:

    • HEAD
    • Branch/Tag – supply the name of the branch or tag.

(info) Note that you can use global variables in this field (see Using global, plan or build-specific variables).

Advanced Options

Include/Exclude Files

Allows you to specify the files that Bamboo should, or should not, use to detect changes.

Enter into File Pattern a regular expression to match the files that Bamboo  includes or excludes. The regex pattern must match the file path in the repository. See sub page for examples.

Exclude ChangesetsEnter a regular expression to match the commit messages for changesets that should not start a build.

Web Repository

  

If your repository can be viewed in a web browser, select the repository type.

This allows links to relevant files to be displayed in the 'Code Changes' section of a build result.

Generic Web Repository

    • Web Repository URL – the URL of the repository.
    • Web Repository Module — the particular repository required for this plan or job, if the Web Repository URL above points to multiple repositories.

FishEye

    • FishEye URL — the URL of your FishEye repository (e.g. ' https://atlaseye.atlassian.com/ ').
    • Repository Name — the name of your FishEye repository (e.g. 'Bamboo'). This is effectively the alias for your repository path.
    • Repository Path — the path for your FishEye repository (e.g. '/atlassian/bamboo/').

How do I determine my Repository Path?

If you have previously run builds with changes from your repository, the easiest way of determining your repository path is to view the code changes and copy the path from the start of the path of one of the changed files, up to (but not including) the appropriate root directory. The root directories for repositories are the ones shown by FishEye when browsing a repository (e.g. trunk)). For example, if a code change listed /atlassian/bamboo/trunk/bamboo-acceptance-test/pom.xml, the path would be /atlassian/bamboo/.
If you have not previously run builds with changes from your repository, you will need to ask your FishEye administrator for the repository path indexed by FishEye.

3 Comments

  1. PeTomasek

    How does local CVSROOT look like? My repository is located in C:\var\cvsrepo, but none of the following works for me:

    • :local:\var\cvsrepo
    • :local:/var/cvsrepo
    • \var\cvsrepo
    • /var/cvsrepo

    However, running a CVS client in a command-line works fine:

    cvs -d /var/cvsrepo co foo
    

    I also have FishEye installed – how could I utilize FishEye instead of CVS access?

    1. Giles Gaskell

      Hello Petr,

      Apologies for this very late response. I'm not sure if you had found a solution since posting your message, but if not, it looks like you have a CVS server installed on a Windows-based operating system. If so, you might want to check out this information - particularly if your Bamboo system is installed on a Linux- or UNIX-based operating system and needs to communicate with a Windows-based CVS server.

      Alternatively, if you are using CVSNT you could try specifying a CVS Repository Prefix, so that you do not have to specify a Windows drive letter in the Bamboo CVS Root field.

      Cheers,
      Giles.

  2. Anonymous

    How can I turn up the debugging for CVS or use a local version of CVS.  The command it displays in the 'Running CVS command' for checkout is correct (ran on server as different account users) but I'm getting no data and no errors.