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

Skip to end of metadata
Go to start of metadata

The instructions on this page apply to the Bamboo distribution, not the Bamboo EAR-WAR distribution.

By default Bamboo doesn't use the jetty.xml file to configure itself. If you need to modify the jetty.xml for advanced configuration (such as JNDI or https), you will also need to tell Bamboo to use it.

The method for doing this depends on whether you are using the bamboo.sh startup script or the Java Service Wrapper.

Step 1 - Instructing Bamboo to use jetty.xml 

If you are using the bamboo.sh script to start Bamboo:

The standard Bamboo startup script can be customised to use the jetty.xml file by modifying the following section in your bamboo.sh script (this section specifies how the Bamboo server will start):

For Bamboo 3.0 and newer:

RUN_CMD="java -Xms256m -Xmx512m -Djava.awt.headless=true -classpath $CLASSPATH -Dorg.eclipse.jetty.xml.XmlParser.Validating=false -Djetty.port=8085 com.atlassian.bamboo.server.Server 8085 ./webapp /"

For Bamboo older than 3.0:

RUN_CMD="java -Xms256m -Xmx512m -Djava.awt.headless=true -classpath $CLASSPATH -Dorg.mortbay.xml.XmlParser.NotValidating=true -Djetty.port=8085 com.atlassian.bamboo.server.Server 8085 ./webapp /"

Now, modify this startup script to read the jetty.xml file from webapp/WEB-INF/classes/jetty.xml by changing the RUN_CMD argument as follows:

For Bamboo 3.0 and newer:

RUN_CMD="java -Xms256m -Xmx512m -Djava.awt.headless=true -classpath $CLASSPATH -Dorg.eclipse.jetty.xml.XmlParser.Validating=false com.atlassian.bamboo.server.Server webapp/WEB-INF/classes/jetty.xml"

For Bamboo older than 3.0:

RUN_CMD="java -Xms256m -Xmx512m -Djava.awt.headless=true -classpath $CLASSPATH -Dorg.mortbay.xml.XmlParser.NotValidating=true com.atlassian.bamboo.server.Server webapp/WEB-INF/classes/jetty.xml"

If you are using the Java Service Wrapper to start Bamboo:

When starting up Bamboo with the Java Service Wrapper, you'll need to modify the wrapper.conf file in the conf directory.

  • You will need to replace the argument which specifies your port number "wrapper.app.parameter.2=8085" with "wrapper.app.parameter.2=../webapp/WEB-INF/classes/jetty.xml".
  • You will need to comment out the other arguments: "wrapper.app.parameter.3=../webapp" and "wrapper.app.parameter.4=/"

This will make Bamboo start up using your jetty.xml configuration file instead of the default three arguments (port, web app directory, context path).

Step 2 - Setting root context web application in jetty.xml

If you are using Bamboo 1.2.4 follow the instructions below:

Edit the webapp root context in your jetty.xml file situated in <Bamboo-install>/webapp/WEB-INF/classes/jetty.xml. From

To

If you are using Bamboo 2.0 follow the instructions below:

Linux Platforms

Replace your existing <Bamboo-install>/webapp/WEB-INF/classes/jetty.xml file, with this jetty.xml file.

Windows Platforms

Replace your existing <Bamboo-install>\webapp\WEB-INF\classes\jetty.xml file, with this jetty.xml file.

Labels
  • None
  1. Apr 09, 2009

    Anonymous

    Step 2.0 bamboo jetty.xml file has one missing . in line:

              <SystemProperty name="bamboo.webapp" default="./webapp"/>

    1. Apr 19, 2010

      Hello there,

      Thank you very much for your comment.

      The jetty.xml file attached to this page already has its SystemProperty element updated with a full-stop, such that it matches the XML line you mentioned above.

      Kind regards,
      Giles Gaskell.

      1. Jan 12, 2011

        Anonymous

        As far as I can see the second full stop is still  (or again?) missing in th attached file.

      2. Apr 12, 2011

        Anonymous

        +1 for Anonymous above.

        Two dots required to get correct path to webapp for me.

        ie default="../webapp"

  2. Dec 05, 2010

    Anonymous

    Step 1 states:  "For Bamboo 3.0 and newer" and "For Bamboo older than 3.0".  Did you mean Bamboo 2.0 instead?

    Additionally, what is the correct usage of "-Dorg.mortbay.xml.XmlParser.NotValidating=true" and "-Dorg.eclipse.jetty.xml.XmlParser.Validating=false"?  It looks like you've flipped them in the before and after portions of Step 1, and it's ambiguous if that's what was exactly intended.

    Providing specific clarity here in both scenarios is greatly appreciated.

  3. Dec 07, 2010

    Anonymous

    Why does Bamboo have to be "special" and do things different than every other Atlassian product?  Can y'all either campaign the other groups to use Jetty or start using Tomcat?  Why do customers have to pay for this kind of internal disagreement?

    It's a bit ridiculous that the apps can't coexist the same webapp container any more, now they can't even run in the same container.  What's next?  Writing them in PHP?

    Atlassian really shouldn't lose it's roots.  It needs to support coexisting the apps in the same container.  Yes, it's hard.  But not that hard.

    1. Nov 22, 2011

      Anonymous

      agreed

  4. Feb 21, 2011

    Step 2 when 3.0? Should we read 2.0 and higher? Why offer a jetty.xml while we altered our 'own' as on http://confluence.atlassian.com/display/BAMBOO/Running+Bamboo+over+HTTPS and are sent here afterwards?

  5. Jul 07, 2011

    This document is out-of-date with respect to Bamboo 3.1.

    bamboo.sh actually uses the wrapper.conf file now, the changes for the startup script as defined at the top of this page are not longer valid.

  6. Jul 13, 2011

    Anonymous

    For Bamboo 3.1 just edit the conf/wrapper.conf:

  7. Sep 10, 2011

    Anonymous

    This feels overly complicated - "i before e, except after c."  Atlassian should just DEFAULT to the jetty.xml file, as it gives the most flexibility out of the gate (if you choose to run on Jetty in the first place).

  8. Sep 10, 2011

    This documentation is severely lacking, and borderline appalling.  The mechanisms described above do not work for Bamboo 3.2, and as David Corley states above, bamboo.sh now uses the wrapper, which means RUN_CMD looks like this:

    RUN_CMD="$(getFromWrapperConfig wrapper.java.command) $(getFromWrapperConfig wrapper.java.additional.*) -classpath $CLASSPATH $BAMBOO_OPTIONS $(getFromWrapperConfig wrapper.app.parameter.*)"

    To fix this, implement what Anonymous states above with the conf/wrapper.conf.

     

    Perhaps Atlassian should stop cranking out a new dot-release every other day, and allow their documentation teams time to catch up to what's changing.  It certainly causes me to stop and think for a bit why we're paying for the commercial version of this product.

  9. Apr 12, 2012

    Anonymous

    This documentation is totally out of date for Bamboo version 4, it urgently needs updating.

    Running Bamboo over HTTPS requires this step first.

    1. May 02, 2012

      I'm totally unclear if this is even still relevant with 4.0.x. Atlassian, are you out there?

      1. May 13, 2012

        +1 for the request, Michael.

        Any time I try to get Bamboo 4.0.1 to use Jetty, the service restarts fine, but I get 503 errors when I try to access Bamboo's web interface. The instructions are hideously old and seem complicated, so Atlassian, why not just make Bamboo use Jetty by default and have JNDI set up by default - I'm guessing it is easier to disable it than enable it...