Subversion
This page describes how to configure Bamboo to use a Subversion 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.
On this page:
Related pages:
Configure a Subversion source repository
- Navigate to the repository configuration for a linked repository, plan or job. See Linking to source code repositories.
- Either select Add repository to add a new repository, or edit an existing repository configuration.
- Select Subversion from the Source repository list.
- Enter a Display name to help identify the repository in Bamboo.
- You can configure the following settings for a Subversion source repository for your plan:
Repository URL
The location of the root of your Subversion repository. For example:
http://svn.collab.net/repos/svn
Note that you can use global variables in this field (see Using Global or Build-specific Variables).
If you are importing a Maven 2 Project, this location should contain your project's pom.xml
file.
Branch name
The display name of a branch or a module that you want to check out. For example My project. The name will be used in the Bamboo UI.
Branch path
The path to a branch or a module that you want to checkout. For example, trunk, branches/my_branch
. The path is relative to the root URL of the repository.
Note that you can use global variables in this field (see Using Global or Build-specific Variables).
If you are importing a Maven 2 Project, this location should contain your project's pom.xml
file.
Username (Optional)
The Subversion username (if any) required to access the repository.
Authentication Type
- Password – choose this option if you want to authenticate with a username and 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.
If you are planning to use remote agents the ssh private key file has to be copied to the agent box into the same location as specified.
- SSL Client Certificate – if you choose to authenticate using an SSL Client Certificate, you need to provide the following details:
- Private key — the absolute path of your SSL client certificate.
- Passphrase — the passphrase for your SSL client certificate.
Please note, the client certificate has to be in PKCS12 format and the client certificate file must be passphrase protected, otherwise a runtime exception is thrown by the JDK security engine while opening the user key.
Advanced Options
Detect changes in externals
Select this if your Subversion repository uses svn:externals to link to other repositories (your externals must be in the root of the checkout directory, not in a subdirectory). Please note that you only need to select this check box if you require Bamboo to detect changes in the externals. If your externals reference a particular (static) revision, you do not need to check this box.
Use SVN export
This option will speed up the first-time checkout, but updates are not supported. Implies Force Clean Build.
Enable commit isolation
Ensures that a build will only have one change, allowing you to isolate your build failures.
Automatically detect root URL for branches
Specifies whether the VCS Branching Task automatically determines the location of created branches.
Automatically detect root URL for tags
Specifies whether the VCS Tagging Task automatically determines the location of created branches.
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.
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 include/exclude files 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.
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.
Stash – specify the following details for the repository:
- Stash URL – the URL of your Stash (now Bitbucket Data Center) instance (for example,
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).
- Stash URL – the URL of your Stash (now Bitbucket Data Center) instance (for example,
Use this option to connect to a Bitbucket Data Center repository.
See Integrating Bamboo with Bitbucket Data Center 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/
).
- Fisheye URL — the URL of your Fisheye repository (e.g.
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.
Notes
- If you are having problems connecting to Subversion, consult our documentation on troubleshooting Subversion connections.
- If you use pre-1.5 Subversion client to access code checked out by Bamboo, you may encounter problems with your builds. This is due to the SVNKit upgrade in Bamboo 2.1.4. Please read this knowledge base article for further details.
- You can add the
-Dsvnkit.http.methods=Basic,NTLM
system property to SVNKit to have NTLM authentication work with Bamboo.