Documentation for Bamboo 4.0.x. Documentation for earlier versions of Bamboo is available too.

This page contains instructions to help you install Bamboo on Linux. If you want to use your application server, rather than the bundled Jetty server, see the Bamboo EAR-WAR installation guide instead.

Before you begin

Please ensure that you have read the Requirements section of the Bamboo Installation Guide.

1. Download and install Bamboo

  1. Download Bamboo for Linux. Bamboo for Linux is available for download from the Bamboo Download Center (click the 'Linux' tab).
  2. Extract the files from the Linux archive to a Bamboo installation directory of your choice. By default, the root directory of the tar file is "Bamboo".
  3. Set up your Bamboo home directory — this is the directory where Bamboo will store its configuration data. To do this, open the file named bamboo-init.properties in the <Bamboo installation directory>/webapp/WEB-INF/classesdirectory. In this file, insert the property "bamboo.home", with an absolute path to your Bamboo home directory. Your file should look something like this:

    bamboo.home=/test/bamboo-home
    

    You must use forward-slashes in your directory path. Backslashes are not recognised by Bamboo. Please ensure that the Bamboo home directory is not located inside the Bamboo installation directory

    Alternatively, you can specify an environment variable 'BAMBOO_HOME' which specifies the absolute path to your {BAMBOO_HOME} directory. Bamboo will check if an environment variable is defined.

2. Launch Bamboo on Linux

There are two ways you can launch Bamboo on Linux — via a startup script or via a Java Service Wrapper:

Launch via bamboo.sh startup script

You can start Bamboo with the default bamboo.sh file in your installation root directory. The bamboo.sh command accepts the following options (e.g. ./bamboo.sh start):

  • start — this starts Bamboo.
  • stop — this stops Bamboo.
  • restart — this restarts Bamboo
  • status — this provides the current status of Bamboo.

Launch via Java Service Wrapper

The wrapper is platform-specific and doesn't work on SunOS.

Alternatively, you can start Bamboo via a Java Service Wrapper, which provides services such as automatic restarting. To do this, you will need to use the start-bamboo command available in the /wrapper folder of the Bamboo installation. You will need to fire the command with one of the following options (e.g. ./start-bamboo start):

  • console — this starts Bamboo in a console. The logs will scroll to standard out.
  • start — this starts Bamboo.
  • stop — this stops Bamboo.
  • restart — this restarts Bamboo
  • status — this provides the current status of Bamboo.
  • dump — stops Bamboo abruptly by killing the process

(info) If you have installed Bamboo on a machine with multiple interfaces, and need to bind Bamboo to a single IP address, please see Binding Bamboo to one IP address.

3. Configure Bamboo

  1. Access your running Bamboo instance by going to your web browser and entering the address: http://localhost:8085/ .
  2. Configure Bamboo via the Setup Wizard which will display. Read Running the Setup Wizard for further instructions.
  • No labels

19 Comments

  1. Anonymous

    Bamboo 2.2.3, Launch via Java Service Wrapper.

    The file wrapper.conf seems to have a wrong reference to the lib directory containing the files wrapper.jar and libwrapper.so.

    The following properties should refer the directory lib that is located under wrapper:

    wrapper.java.classpath.1=../lib/*.jar
    wrapper.java.classpath.2=../lib
    wrapper.java.library.path.1=../lib
    

    So, they should be set as:

    wrapper.java.classpath.1=./lib/*.jar
    wrapper.java.classpath.2=./lib
    wrapper.java.library.path.1=./lib
    

    Thanks,
    Enzo

    1. Andrew

      Hi Enzo,

      Thanks for your feedback on the documentation. The three properties that you've referred two actually are correct (i.e. require two periods, not one period, in the path).

      The wrapper.conf file is located in the conf directory, which is a sibling of the lib directory in the Bamboo directory structure. Hence, two periods are required for the wrapper.conf file to reference the files in the lib directory.

      Kind Regards,
      Andrew

      1. Castrenze Migliore

        Hi Andrew,

        Thanks for your feedback.

        I actually downloaded again the Bamboo tarball file (atlassian-bamboo-2.2.3-standalone.tar.gz - for linux) for a double check, and it seems that there isn't any lib directory at the same level than the conf one.

        It seems that lib is located under the wrapper directory (Bamboo/wrapper/lib).

        Is it possible that the linux version has a little different directory structure? In this case I think that the wrapper.conf needs to be changed. Is it correct?

        Thanks again,

        Warm Regards,

        Enzo

        1. Ulrich Kuhnhardt

          Dear Enzo,

          thanks for bringing this to our attention. We were able to verify the problem and have raised http://jira.atlassian.com/browse/BAM-4197 http://jira.atlassian.com/browse/BAM-4198

          Please follow (watch) these issues and add your comments.

          Thanks again for your help.

  2. Anonymous

    Trying to install on Ubuntu 10.04 (mysql 5 backend) - getting the error "Could not instantiate bean class [com.octo.captcha.service.image.DefaultManageableImageCaptchaService]: Constructor threw exception; nested exception is java.lang.Error: Probable fatal error:No fonts found."  I've read online that it's probably because the captcha is referencing only windows fonts.  I am going to try to use redhats "liberation fonts" to get it to work using the following: http://grumpymole.blogspot.com/2007/05/ubuntu-with-liberation-fonts-i.html ... but I don't want captcha support in the first place; I hate them.  Why is this required?

    ... hehehe I have to do a captcha to post this ... hehehe

    1. Anonymous

      By the way I was using: &useUnicode=true&characterEncoding=utf8 in the mysql URL.

      If you: sudo apt-get install msttcorefonts gsfonts gsfonts-x11

      and restart ./bamboo.sh stop / start

      That seems to have sorted it.

    2. Anonymous

      I have this same problem with ubuntu server and I really don't want to have to install fonts on a server.   Is there another way around this error?

    3. Anonymous

      this issue occurs on Amazon-Linux used on Amazon EC2/AWS environment.

      Simple resolution is to install the liberation-fonts package

      sudo yum install liberation-fonts

  3. Anonymous

    Hello!

    Can we run it as linux service? (/etc/init.d) and if not then WHY?

  4. Marc Bogaerts

    I installed Bamboo succesfully, but now I'm stuck with this problem when I try to run GUI tests:

    Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

    I've been searching but can't figure out how to change the DISPLAY. Even when I export some value in the .profile, Bamboo still shows the environment variable DISPLAY=0:0.

    Any help is welcome.

    1. Richard Gareau

      Make sure that you don't have a DISPLAY variable set before starting bamboo.  I had the same problem and I fixed it by removing the DISPLAY variable from the environment.

  5. Anonymous

    Doesn't work. Jetty hangs. This is with 3.1.

    1. unpacked .tar.gz

    2. edited webapp/WEB-INF/classes/bamboo-init.properties

    3. ./bamboo.sh start

    I've tried debugging the start script, the wrapper config, fixing java to be 32bit because there's no 64 .so supplied with the wrapper.

    Netstat -an | grep 8085 is empty

    There's only this in the logs

    Port &nbsp; &nbsp; &nbsp; &nbsp;= 8085
    Web App &nbsp; &nbsp; = webapp
    contextPath = /
    2011-05-18 10:09:14.802:INFO::jetty-7.2.1.v20101111
    Port &nbsp; &nbsp; &nbsp; &nbsp;= 8085
    Web App &nbsp; &nbsp; = webapp
    
    contextPath = /
    
    2011-05-18 10:09:14.802:INFO::jetty-7.2.1.v20101111
    
    
  6. Anonymous

    bamboo 3.1 standalone linux doesn't start if I follow the above instructions on  redhat EL5.4 or ubuntu 10.10. could someone from atlassian please figure out why and fix either instructions or application ?

  7. Anonymous

    Same here, doesn't start. Same Jetty log as May 18 comment.

    1. Anonymous

      Correction. In the time it took me to find this forum and post the comment, it started. Apparently it was just a matter of waiting a fairly long time (> 1 minute).

  8. Marcus Bointon

    Anyone have an upstart script for bamboo? I've had a go at adapting one of Daniel Harvey's excellent ones for other Atlassian apps, but Bamboo seems to work differently and I can't find one for it. This is my attempt so far, which doesn't work:

    # bamboo
    description "Atlassian Bamboo"
    start on runlevel [2345] and started mysql
    stop on runlevel [!2345]
    
    kill timeout 30
    
    env RUN_AS_USER=bamboo
    env BASEDIR=/opt/Bamboo
    env BIN=/opt/Bamboo
    env JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
    env ANT_HOME=/usr/share/ant
    env M2_HOME=/usr/share/maven2
    env PATH=$PATH:/var/lib/gems/1.8/bin
    
    script
        exec su - $RUN_AS_USER -c "$BASEDIR/bamboo.sh start"
    end script
    

    All those env vars are what is set in /etc/init.d/bamboo, so I'm using that as a reference. When I do 'service bamboo start', nothing happens - no errors, but no bamboo either. Ideas?

    1. Stuart Fenton

      I've been using this one. Stored in init.d called bamboo

      but you need to add it to the service by calling this command

      sudo /sbin/chkconfig --add bamboo

      #!/bin/sh
      # Startup script for bamboo
      #
      # chkconfig: 2345 99 01
      # description: Atlassian Bamboo
      # pidfile: /var/run/bamboo.pid
      . /etc/rc.d/init.d/functions
       
      BAMBOO_HOME=/opt/home-bamboo
      BAMBOO_INSTALL=/opt/bamboo
      BAMBOO_USER=bamboo
       
      export BAMBOO_HOME
      NAME=bamboo
      BPID=${BAMBOO_INSTALL}/bamboo.pid
      PID=/var/run/${NAME}.pid
      cd ${BAMBOO_INSTALL}
      if [ _$1 = _condrestart ]; then
       su - ${BAMBOO_USER} -c "
       cd ${BAMBOO_INSTALL} &&
       ${BAMBOO_INSTALL}/bamboo.sh stop &&
       ${BAMBOO_INSTALL}/bamboo.sh start
       "
      else
       su - ${BAMBOO_USER} -c "
       cd ${BAMBOO_INSTALL} &&
       ${BAMBOO_INSTALL}/bamboo.sh $@
       "
      fi
      RC=$?
       
      if [ -f $BPID ]; then
       cp -- $BPID $PID
              touch /var/lock/subsys/${NAME}
      else
       rm -- $PID /var/lock/subsys/${NAME} 2>/dev/null
      fi
       
      exit $RC
      
      1. Marcus Bointon

        That's not an upstart script; it's an old-style init.d script. Systems with upstart tend not to have chkconfig either.

  9. Anonymous

    Starting Bamboo using "./bamboo.sh start" stays attached to console, so I Ctrl-C to disconnect, then "./bamboo.sh stop" to stop Bamboo.

    So, I tried the Java Service Wrapper.  Started using "./start-bamboo start" and get:

    Starting Bamboo Continuous Integration Server...

    ./start-bamboo: /opt/Bamboo/3.3.3/wrapper/wrapper: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

    This is on RHEL 6.0 in Amazon EC2.