jacekkow / docker-bamboo-agent-rich

CentOS with Atlassian Bamboo build agent and its dependencies

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This is Docker image of a remote agent for Atlassian Bamboo, customized for building Java, Gradle and SWT-based applications.

It is not based on Atlassian image - instead it is built from bare CentOS 7 image.

Components

This image is based on latest CentOS 7 image from official Docker repository with additional applications installed:

  • version control systems:
  • CVS (/bin/cvs),
  • SVN (/bin/svn),
  • Git (/bin/git),
  • Hg (/bin/hg),
  • JDKs:
  • OpenJDK 1.7 (/usr/lib/jvm/java-1.7.0-openjdk),
  • OpenJDK 1.8 (/usr/lib/jvm/java-1.8.0-openjdk),
  • build systems:
  • Ant (/usr/share/ant),
  • Maven 3 (/opt/apache-maven),
  • Gradle 2 (/opt/gradle),
  • miscellaneous:
  • unzip,
  • wget,
  • Xvfb (started during container initialization).

Apart from Gradle and Maven, all software is installed from CentOS or EPEL repositories.

Gradle is installed using binary package available on the official website.

Usage

Create Docker container and pass URL to your Bamboo installation using BAMBOO_SERVER environment variable:

docker run -d --name="bamboo-agent1" -e BAMBOO_SERVER=http://bamboo.domain.local jacekkow/bamboo-agent-rich

Remember to approve access for a new remote agent in Bamboo administration console if "Remote Agent Authentication" is enabled. See https://confluence.atlassian.com/display/BAMBOO/Agent+authentication for more information.

It is also possible to fix agent's UUID (e.g. to one already authorized) using BAMBOO_AGENT_UUID environment variable:

docker run -d --name="bamboo-agent1" -e BAMBOO_AGENT_UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -e BAMBOO_SERVER=http://bamboo.domain.local jacekkow/bamboo-agent-rich

Internals

On first run agent JAR is downloaded from URL:

${BAMBOO_SERVER}/agentServer/agentInstaller/atlassian-bamboo-agent-installer.jar

Then Xvfb is started in background. Whenever it fails, it is automatically restarted. Logs are written to file /tmp/Xvfb.log

Finally JAR downloaded in step 1 is started using default JVM (OpenJDK 1.7).

About

CentOS with Atlassian Bamboo build agent and its dependencies


Languages

Language:Shell 100.0%