Atlassian ALM: Bamboo Installation Details

BAMBOO

Bamboo version 5.9 works on server and agent architecture.  It has HSQL database in build, however can connect SQL server 2008 r2. Installed as a service.

BAMBOO_HOME directory is where you would have the entire source code checkout and test result output to post compilation and test.

Test plan will have stages which will have multiple jobs which will multiple task under it.

Installation

http://blog.mercetv.com/?m=201504 Step 1. Enable remote agent support

  1. Click the icon in the Bamboo header and choose  buy dapoxetine in canada Overview.
  2. Click  buy modafinil singapore Agents(under ‘Build Resources’)
  3. Click either  Enable Remote Agent Supportor Disable Remote Agent Support.

Read more about enabling and disabling remote agent support here.

Step 2. Download and install the remote agent

  1. Create a directory on the agent machine (e.g.bamboo-agent-home) to serve as the Bamboo agent home for the remote agent.
  2. Click the icon in the Bamboo header and choose Overview.
  3. ClickAgents in the left panel (Under Build Resources). This will display the ‘Agents’ screen, showing lists of all local agents and all remote agents that currently exist on your Bamboo system.
  4. If not already enabled, click the Enable remote agent supportlink
  5. Click Install Remote Agent.The ‘Installing a remote agent’ screen will display
  6. ClickDOWNLOAD Remote Agent JAR and save the JAR file to the directory on the agent machine that you created above.
  7. Copy the command under ‘Running a Remote Agent’ to the clipboard for use in Step 3 that follows.

Step 3. Launch the remote agent

Once installed, run the remote agent by executing the command line obtained above. This command will look something like this:

java -jar atlassian-bamboo-agent-installer-X.X-SNAPSHOT.jar http://bamboo-host-server:8085/bamboo/agentServer/

Where X.X represents your Bamboo version number.

The name of the jar file, for example, atlassian-bamboo-agent-installer-5.4-SNAPSHOT.jar, will vary depending on the version of Bamboo you are running.

You can run the remote agent with a number of additional command line parameters. Configuration options include remote agent data storage, capability detection and logging, suppression of self-signed certificate and running without the Remote Agent Supervisor or with different start-up commands.

See Additional remote agent options for more information.

Step 4. Configure the remote agent’s capabilities

All remote agents feature a capability that can be defined. Examples include an executable, such as Maven, a JDK, a DVCS client or a custom capability. They typically define the path to an executable that has already been installed, and must be defined in Bamboo before Bamboo or its agents can make use of them.

Capabilities can be defined specifically for an agent, or shared between all local or all remote agents.

Please see Configuring capabilities for more on defining capabilities.

Application Links:

It basically links your JIRA and Stash with Bamboo.

Slow Bamboo initially when you migration from HSQLDB to external DB like SQL:

Most like you are going to see slowness in bringing up the plan, modifying the plan, rending of the bamboo page.. It is due to JAVA Memory heap limit.

You observe in logs below two types of errors.

  • lang.OutOfMemoryError: Java heap space
  • [ThreadPoolAsynchronousRunner] com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@26c2bfba — APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

Here is the change you have to do in order to increase the memory heap to solve the slowness issue..

Windows service

There are two ways to configure system properties when starting Bamboo as a service, either via the command line or in the Windows registry.

Setting properties for Windows services from the command line

  1. Identify the name of the service that Bamboo is installed as in Windows (Control PanelAdministrative Tools >Services):
  2. Open a command prompt fromStart > Run > type ‘cmd’ > Enter.
  3. Change directory to thebin directory of your Bamboo installation directory.
  4. Run: tomcat7w //ES//%SERVICENAME%

In the above example, it would be tomcat7w //ES//Bamboo

  1. Click on theJava tab to see the list of current start-up options:
  2. Append any new option on its own new line by adding to the end of the existing Java Options. Refer to the list of parameters below.
BAMBOO BUILD PLANS

It has project which will have multiple build plan in it.

Each plan then would have multiple stages and then each stage will have multiple jobs [sequence of task].

Each staging 1 à Job -> task1: get sources, task2: code quality check, task3: build, task4: unit testing, task5: application package generation.

Staging 2-> Job1: Integration test execution, Job2:  code deployment [Both are independent and can run in parallel]

Staging 3-> Job 1: Smoke test execution, Job2: sonar build execution.[parallel]

All the stages go in the sequence…

Stage can be automated and manual… deployment to any environment can be manual to push.

Plan can be trigger by changes to source control, manual or schedule at per interval.

Plan can also child plan which you would trigger once parent plan are successful.

Plan will have admin plan to give access to users.

It will have audit section

It will have artifact section to configure the build what kind of artifact to pick

Tagging an agent with build plan is by requirements .. Agents will have the capabilities that will shown at the requirement screen that once you add will hook the plan to agent.

Under the build

Please note on the build agent, you will find the build folder create @ bamboo-home\xml-data\build-dir

Bamboo Deployments Approved and Broken

The Approved and Broken buttons are just flags that work as labels, but more exposed.

Enable logging (verbose) in bamboo

Configuring the level of logging on the Bamboo server

Bamboo uses the log4j library for logging during runtime. The logging levels can be changed by editing the <Bamboo-Install>/atlassian-bamboo/WEB-INF/classes/log4j.properties file. There are five logging levels available: ‘DEBUG’, ‘INFO’, ‘WARN’, ‘ERROR’ and ‘FATAL’. Each logging level provides more logging information that the level after it:
DEBUG > INFO > WARN > ERROR > FATAL
i.e. DEBUG provides the most verbose logging and FATAL provides the least verbose logging.

You can adjust the logging levels for the different Bamboo packages on the fly, using the runtime log4j configuration tool in the Bamboo administration console. The default log settings are still stored in the log4j.properties file. When you view the log settings page for the first time you will see the default log settings as defined in log4j.properties. All changes to the log settings via the runtime log4j configuration tool will not be persisted and are valid during Bamboo runtime only.

Before you begin:

  • Note, you do not need to restart your Bamboo server for any logging changes to take effect.

Change the level of logging on your Bamboo server

  1. Click the icon in the Bamboo header and choose Overview.
  2. ClickLog Settings (under ‘System’) in the left navigation panel. The ‘Bamboo Log Settings’ page will display showing the Bamboo packages being logged (see screenshot below).
    • To change the logging level of a package that is already being logged, locate the Bamboo package, select the desired logging level from the list next to it and clickSave.
    • To start monitoring a package in the Bamboo logs, enter the class name in the text box at the top of the page, select the desired logging level from the list next to it and clickAdd.
    • To stop logging a package, locate the Bamboo package and clickDelete next to it.

Screenshot: Bamboo log settings

Configuring the level of logging on remote agents

The runtime log4j configuration tool in the Bamboo administration console can only be used to modify the logging levels for the Bamboo server. To configure the logging levels for your remote agents, you will need to update the log4j.properties file manually.

You can control the logging for each of remote agents separately from the Bamboo server. To do this, simply repeat the process described below for multiple remote agents, so that each remote agent has a log4j.properties file that overrides the log4j.properties file on the Bamboo server.

Change the level of logging on your remote agent

  1. Configure aproperties file for your remote agent. This can be any log4j.properties file. If you do not already have a log4j.properties file, you can take a copy of the log4j.propertiesfile from the server, copy it to your remote agent and configure it as desired:
    • TherootLogger property in the properties file controls the verbosity of logs being generated at the top level. By default, the root level logging is set to ‘INFO’. To change the root level logging, find the following lines in<Bamboo-Install>/webapp/WEB-INF/classes/log4j.properties file and update the value oflog4j.rootLoggerto the desired logging level:

# Change the following line to configure the bamboo logging levels (one of INFO, DEBUG, ERROR, FATAL)

log4j.rootLogger=INFO, console, filelog

  1. Modify the logging level for any of the individual packages in theproperties as desired, e.g.log4j.category.webwork=WARN
  2. Save changes to the file.
  3. Update theconfiguration system property on your remote agent to point to the log4j.properties file. To do this, add the following line to the <bamboo-agent-home>/conf/wrapper.conf file:

wrapper.java.additional.3=-Dlog4j.configuration=/full/path/to/log4j.properties

where /full/path/to/log4j.properties is the absolute path of your log4j.properties file.

  1. Restart your remote agent.

Leave a Reply

Your email address will not be published. Required fields are marked *