GitLab provides integration with Atlassian Bamboo for continuous integration. When configured, pushes to a project will trigger a build in Bamboo automatically. Merge requests will also display CI status showing whether the build is pending, failed, or completed successfully. It also provides a link to the Bamboo build page for more information.
Bamboo doesn't quite provide the same features as a traditional build system when it comes to accepting webhooks and commit data. There are a few things that need to be configured in a Bamboo build plan before GitLab can integrate.
- Navigate to a Bamboo build plan and choose 'Configure plan' from the 'Actions' dropdown.
- Select the 'Triggers' tab.
- Click 'Add trigger'.
- Enter a description such as 'GitLab trigger'
- Choose 'Repository triggers the build when changes are committed'
- Check one or more repositories checkboxes
- Enter the GitLab IP address in the 'Trigger IP addresses' box. This is a whitelist of IP addresses that are allowed to trigger Bamboo builds.
- Save the trigger.
- In the left pane, select a build stage. If you have multiple build stages you want to select the last stage that contains the git checkout task.
- Select the 'Miscellaneous' tab.
- Under 'Pattern Match Labelling' put '${bamboo.repository.revision.number}' in the 'Labels' box.
- Save
Bamboo is now ready to accept triggers from GitLab. Next, set up the Bamboo service in GitLab.
- Navigate to the project you want to configure to trigger builds.
- Navigate to the Integrations page
- Click 'Atlassian Bamboo CI'
- Select the 'Active' checkbox.
- Enter the base URL of your Bamboo server.
https://bamboo.example.com
- Enter the build key from your Bamboo build plan. Build keys are a short, all capital letter, identifier that is unique. It will be something like PR-BLD
- If necessary, enter username and password for a Bamboo user that has access to trigger the build plan. Leave these fields blank if you do not require authentication.
- Save or optionally click 'Test Settings'. Please note that 'Test Settings' will actually trigger a build in Bamboo.
If builds are not triggered, these are a couple of things to keep in mind.
- Ensure you entered the right GitLab IP address in Bamboo under 'Trigger IP addresses'.
- Remember that GitLab only triggers builds on push events. A commit via the web interface will not trigger CI currently.