Git

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

This page describes how to configure Bamboo to use a Git repository.

You can specify repositories at the following levels in Bamboo:

  • global – repositories are available to all plans in Bamboo.
  • plan – repositories are available to all jobs in the Bamboo plan.
  • job – repositories are available to all tasks in the Bamboo job.

The recommended approach is to set up linked source repositories at the global level – see Linking to source code repositories.

You need to have previously defined a Git capability before you can configure a Git source repository – see Defining a new version control capability.

(info) Note that Bamboo comes with its own built-in Git implementation. However, you need to use native Git to be able to use symbolic links, submodules, automatic branch detection and automatic merging - these are not supported by the built-in Git.

You can download Git from the following locations:

 

Configure a Git source repository

  1. Navigate to the repository configuration for a linked repository, plan or job. See Linking to source code repositories.
  2. Either click Add Repository to add a new repository, or edit an existing repository configuration.
  3. Choose Git from the Source Repository list.
  4. Enter a Name to help identify the repository in Bamboo.
  5. You can configure the following settings for a Git source repository for your plan:
Repository URL

The full path to your Git repository (eg:  https://bitbucket.org/atlassian/bamboo-git-plugin.git )

Valid URLs are of the form:

  • git://host.xz[:port]/path/to/repo.git
  • ssh://[user@]host.xz[:port]/path/to/repo.git

     

     

 

 

  • [user@]host.xz[:port]/path/to/repo.git
  • http[s]://host.xz[:port]/path/to/repo.git
  • /path/to/repo.git
  • file:///path/to/repo.git 
Branch  Type the name of the relevant branch (or tag) you want to work on. Leave empty to work on the master branch.
Authentication TypeNone – choose if you want to access the repository anonymously
Username and password – use shared credentials or type a username and a password

SSH private key – use shared credentials or upload an SSH key and provide the SSH passphrase

Use shallow clones

Allows Bamboo to perform shallow clones (i.e. history truncated to a specified number of revisions). This should increase the speed of the initial code checkouts, however if your build depends on the full repository history, we recommend that you do not use this option. Shallow clones are enabled by default.

Location of POM file

The path to your project's pom.xml file, relative to the root of your Git Repository URL (defined above).

(Only available when importing a Maven 2 project) 

Advanced Options

Use submodulesSelect to enable submodules support if these are defined for the repository. If native Git capability is not defined for agent submodules support will be disabled.
Command timeoutThis is useful to stop hung Bitbucket processes. On slower networks, you may consider increasing the default timeout to allow Bamboo time to make an initial clone of the Git repository.
Verbose logsTurns on more verbose logs from Git commands. Use this option if you encounter problems with Git in Bamboo.
Enable Quiet PeriodSpecifies a delay after a single commit is detected before the build is started. This allows multiple commits to be aggregated into a single build.
Include/Exclude Files

Allows you to specify the files that Bamboo should, or should not, use to detect changes. When you configure the Include option, it means that you want Bamboo to use only the mentioned files for change detection because by default Bamboo checks all the files. The same way,  if you configure the Exclude option, Bamboo will not consider the excluded files for detecting 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.

Stash – specify the following details for the repository:

    • Stash URL – the URL of your Stash ( now Bitbucket Server) instance (e.g. 'https://bitbucket.mycompany.com ').
    • Stash Project Key – the key of the project in Stash (e.g. 'CONF').
    • Repository Name – the name of the repository in Stash (e.g. 'conf-dev').

       Use this option to connect to a Bitbucket Server repository.

 

 

See Integrating Bamboo with Bitbucket Server for more information.

 

 

FishEye – specify the URL and other details for the repository:

    • 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/').

See Integrating Bamboo with FishEye for more information.

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.

Last modified on Aug 24, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.