This is the documentation for Bamboo 5.6. View this page for the

Unknown macro: {spacejump}

of Bamboo, or visit the latest Bamboo documentation.

Linux system administration is outside the scope of Atlassian support. This page is provided for your information only.

On Linux/Solaris, the best practice is to install, configure and run each service (including Bamboo) as a dedicated user with only the permissions they require.

To install, configure and get Bamboo to start automatically on Linux/Solaris:

  1. Create a bamboo user account which will be used to run Bamboo. For example, enter the following at a Linux console:

    sudo useradd --create-home -c "Bamboo role account" bamboo
  2. Create a directory into which Bamboo will be installed. For example:

    sudo mkdir /opt/atlassian/bamboo
    sudo chown bamboo: /opt/atlassian/bamboo
    
  3. Log in as the bamboo user to install Bamboo:

    sudo su - bamboo
    
  4. You need to extract Bamboo:

    cd /opt/atlassian/bamboo
    tar zxvf /tmp/atlassian-bamboo-X.Y.tar.gz
    ln -s atlassian-bamboo-X.Y/ current
    
  5. Edit current/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties and set bamboo.home=/var/atlassian/application-data/bamboo (or any other directory of your choice, but not the same as Bamboo's installation directory)
  6. Then back as root, create the file /etc/init.d/bamboo (code shown below), which will be responsible for starting up bamboo after a reboot (or when manually invoked).

    #!/bin/sh -e
    # bamboo startup script
    #chkconfig: 2345 80 05
    #description: bamboo
    
    # Define some variables
    # Name of app ( bamboo, Confluence, etc )
    APP=bamboo
    # Name of the user to run as
    USER=bamboo
    # Location of application's bin directory
    BASE=/opt/atlassian/bamboo/current
    # Location of Java JDK
    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    
    case "$1" in
      # Start command
      start)
        echo "Starting $APP"
        /bin/su -m $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null"
        ;;
      # Stop command
      stop)
        echo "Stopping $APP"
        /bin/su -m $USER -c "$BASE/bin/shutdown.sh &> /dev/null"
        echo "$APP stopped successfully"
        ;;
       # Restart command
       restart)
            $0 stop
            sleep 5
            $0 start
            ;;
      *)
        echo "Usage: /etc/init.d/$APP {start|restart|stop}"
        exit 1
        ;;
    esac
    
    exit 0
    
    
  7. Make the init script executable:

    chmod \+x /etc/init.d/bamboo
  8. Place symlinks in the run-level directories to start and stop this script automatically. 

    1. For Debian-based systems:

      update-rc.d bamboo defaults

      The following commands will be executed to place symlinks in the run-level directories:

      Adding system startup for /etc/init.d/bamboo ...
         /etc/rc0.d/K20bamboo -> ../init.d/bamboo
         /etc/rc1.d/K20bamboo -> ../init.d/bamboo
         /etc/rc6.d/K20bamboo -> ../init.d/bamboo
         /etc/rc2.d/S20bamboo -> ../init.d/bamboo
         /etc/rc3.d/S20bamboo -> ../init.d/bamboo
         /etc/rc4.d/S20bamboo -> ../init.d/bamboo
         /etc/rc5.d/S20bamboo -> ../init.d/bamboo
      
    2. For RedHat-based systems:

      the init.d script contains chkconfig settings

      sudo /sbin/chkconfig --add bamboo
  9. Ensure the script is executed in the correct order, in particular after the database startup script.
  • No labels