This page last changed on Oct 16, 2008 by alui.

Triggering a build on code check-in has the advantage of placing minimal load on your Bamboo server, but requires that your source-code repository is configured to fire an event to the Bamboo server.

Step 1. Configure your source repository

  1. Configure your source-code repository to run post-commit scripts to tell Bamboo whenever a code commit has occurred.
    • For CVS, edit two files in the CVSROOT module: commitinfo and loginfo.
      • For commitinfo add a line like this:
        ^jira(/|$)  /pathto/preCommit.sh
        

        where "jira" is your module.

      • For loginfo add a line like this:
        ^jira(/|$) /pathto/postCommitBuildTrigger.sh %{} http://bambooserver JIRA-MAIN JIRA-BRANCH
        

        where JIRA-MAIN and JIRA-BRANCH are the Bamboo plans that you would like to trigger.

    • For Subversion, edit the Subversion respository's hooks/post-commit trigger file with something like:
      /pathto/postCommitBuildTrigger.sh http://bambooserver JIRA-MAIN JIRA-BRANCH
      
    • For Perforce, add the script as a change-commit trigger.
      triggerName change-commit //myDepot/... "/usr/local/bin/postCommitBuildTrigger.sh http://bambooServer/ MYPLAN-DEFAULT"
      
  2. Copy the scripts to your repository. If you are using Bamboo Standalone, the scripts are located in the /scripts folder of your Bamboo Installation Directory. If you are using Bamboo EAR-WAR you can find them in the /repositoryScripts folder. You can also download the scripts by following this link.
  3. Depending on which operating system your repository is running on, you may need to edit the scripts. The scripts assume that 'wget' is in '/usr/bin/'; if this isn't the case for your repository (e.g. Solaris 10 has it in /usr/sfw/bin/), edit the scripts and change '/usr/bin/' to the appropriate location.
  4. Ensure that the user which Bamboo is running as has appropriate file permissions to execute the scripts, i.e. the scripts should be executable by non-root user(s).
  5. Enable Bamboo's remote API so that the scripts can use Bamboo's REST-style remote API to access Bamboo's data.


Step 2. Configure Bamboo to trigger a build on code check-in

  1. Click 'Home' to go to the Dashboard.
  2. Click the 'All Plans' tab.
  3. Locate the plan in the list and click this icon:
  4. The 'Configuration' tab will be displayed. Click the 'Source Repository' sub-tab.
  5. In the 'Build Strategy' field, select 'Repository triggers the build when changes are committed' (see screenshot below).
  6. This will display the 'Trigger IP Address' field. If you want Bamboo to receive post-commit notifications from the respository's primary IP address, leave the 'Trigger IP Address' field blank. If you want Bamboo to receive post-commit notifications from a different IP address, type the IP address in the 'Trigger IP Address' field.
  7. Click the 'Save' button.




Screenshot: 'Plan Configuration--Source Repository-Build Strategy: Repository triggers the build when changes are committed'




 

















Bamboo-trigger-codechanges.PNG (image/png)
scripts.zip (application/zip)
Bamboo-trigger-codechanges.PNG (image/png)
config_16.gif (image/gif)
Document generated by Confluence on Mar 09, 2009 17:06