Bamboo 3.4 : Mercurial

This page describes how to configure a Mercurial source repository.

Configuring a Mercurial Source Repository

Navigate to the source repository settings for a Plan or Job, as described on Specifying the Source Repository for a Plan. Choose whether to add a new repository, or edit an existing repository, and select Mercurial in the Source Control drop-down. 

Mercurial gives you the following options:

Repository URL

Type the full path to your Mercurial repository (eg: git://bitbucket.org/atlassian/bamboo-git-plugin.git)

Valid URLs are of the form:

  • local/filesystem/path[#revision]
  • file://local/filesystem/path[#revision]
  • http[s]://[user[:pass]@]host[:port]/[path][#revision]
  • ssh://[user[:pass]@]host[:port]/[path][#revision]

(for further references visit Mercurial documentation)

Branch  Type the name of the relevant branch (or tag) you want to work on. Leave empty to work on default branch.
UsernameType the username (if any) required to access the repository.
Authentication TypePasswordChoose password if you want to authenticate with a username and password.
Keyfile with passphraseUpload a private key and provide the corresponding SSH Passphrase.
Keyfile without passphrase

This type of authentication is similar to Keyfile with passphrase. However, authenticating without a passphrase is a bit faster. You will still have to Upload a private key.

Default Mercurial credentialsBamboo will rely on default hg authentication. Use this option, for example, if you had set up the Bamboo server manually with SSH servers defined in .ssh/config, valid SSH identity files, etc.

Advanced Options

Command timeout

Type the number of minutes bamboo should wait for hg commands to finish. This is useful to cut hung Mercurial processes. On the slower networks you may consider increasing default timeout to allow bamboo making initial clone of mercurial repository.

Verbose logsTurns on --verbose and --debug options in hg commands and pass the output to build logs. Use that option if you encounter problems in Bamboo Mercurial behaviour.
Location of POM file

Type the path to your project's pom.xml file which is relative to the root of your Mercurial Repository URL (defined above).

(Only available when importing a Maven 2 project) 


Common Repository Configuration

Force Clean BuildYou can force Bamboo to remove the source directory and check it out again prior to the Plan/Job build being built by selecting this option. Please note that this will greatly increase the time it takes to complete a build.
Clean working directory after each buildYou can force Bamboo to remove the source directory after the Plan/Job is completed building by selecting this option. Please note that this may increase build times but saves on disk space.
Include/Exclude FilesYou can specify a particular inclusion or exclusion pattern for file changes to be detected. If you select an option other than 'None', the following field will appear:

File Pattern — The regular expression for file changes which you wish to include/exclude. The regex pattern must match the file path in the repository.

Visit sub page for a few examples.

Web Repository

Generic Web Repository

Web Repository URL — If your source repository can be accessed via a web browser, you can specify the URL of the source repository here. If you specify a Web Repository URL, then links to relevant files will be displayed in the 'Code Changes' section of a build result.

Web Repository Module — The repository name of the Plan/Job, if the above Web Repository URL points to multiple repositories.

Mercurial Web RepositoryChoose between using the BitBucket Web Repository Scheme (if you use BitBucket) or Mercurial's own default web server Default Web Repository Scheme (hgserve).
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.

 
Build Strategy

Choose one of the build strategy options (listed below), which will be used for triggering the execution of this Plan. You can change the Build Strategy at a later point in time as required.

(warning) You may need to configure other options specific to your chosen build strategy.

(warning) If you select Manual & dependent builds only when creating a new Plan, an initial build will not automatically be run. You can force an initial build to be executed automatically by adding the fire.initial.build.for.manual.strategy to your bamboo.cfg.xml file as described in Configuring System Properties.


Screenshot: Source Repository — Mercurial

Notes

  • The page Configuring a new Mercurial capability does not exist. You will not be able to create Plans/Jobs that use a Mercurial repository without specifying the shared local Mercurial capability first. Read more about configuring a Version Control capability.

Related Topics

Specifying the Source Repository for a Plan
Specifying the Source Repository for a Job