[Bamboo Knowledge Base]
This page describes how to configure Bamboo to use a Stash repository.
You can specify repositories at the following levels in Bamboo:
The recommended approach is to set up linked source repositories at the global level – see Linking to source code repositories.
When you link a repository hosted in Atlassian's Stash with a build plan in Bamboo, then without any further configuration:
Stash and Bamboo only need to have been connected by creating an application link. Repositories in Stash are then made available in Bamboo, so it is easy for you to link your Bamboo plan to a Stash repository.
The legacy Stash repository type, described below, is deprecated in Bamboo 5.6, and will be removed in Bamboo 5.7.
When you create a plan that uses a Stash source repository, with Stash 3.1 and later, Bamboo will automatically use the 'Stash repository triggers the build when changes are committed' trigger option instead of using the 'polling the repository for changes' option. This reduces the load on the Bamboo and Stash servers because Bamboo doesn't need to send poll requests (for each branch of each plan) to the Stash server every 3 minutes (the default polling period). Instead, Stash will trigger Bamboo whenever there is a push to the repository.
See Linking to another application.
Navigate to the source repository settings for a plan or job, as described on Linking to source code repositories, then:
The legacy Stash repository type, described below, is deprecated in Bamboo 5.6, and will be removed in Bamboo 5.7.
For Bamboo 5.6 and later, the recommended way to link Bamboo with Stash (version 3.1 or later) is by creating an application link, as described above.
Nevertheless, when using Stash 2.11.0 or later, you can link a Stash repository to Bamboo as follows:
Complete the required information:
Display name | A name that identifies this repository within Bamboo. |
---|---|
Stash server | This menu will show all Stash servers that have been linked to Bamboo via an application link. |
Repository | The repository that will be built. This menu will show all repositories on the Stash server that you have permissions to access. |
Branch | Pick a branch if you want to check out code from a branch other than the default branch. |
Advanced options
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. |
---|---|
Enable repository caching on remote agents | Allow caching of repositories on remote agents to save bandwidth. Note that caches are always full clones of the source repository. |
Use submodules | Select 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 timeout | This 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 logs | Turns on more verbose logs from Git commands. Use this option if you encounter problems with Git in Bamboo. |
Fetch whole repository | Fetches whole repository instead of only one selected branch. |
Enable Quiet Period | Specifies 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 changesets | Enter 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:
See Integrating Bamboo with Stash for more information. |