Code Monkey home page Code Monkey logo

bamboo-docker's Introduction

Bamboo for Docker

Set of docker images to install Atlassian Bamboo Agent based on phusion/baseimage-docker.

Documentation

Here you can find info how to setup Bamboo on Rancher.

Info

This is a part of a Bamboo Stack. You can download docker-compose.yml and check out how it works!

Bamboo Stack is also available in my custom rancher-stack, so with just a few clicks you can use, scale and upgrade it!

What's in stack?

bamboo-server - Bamboo Server
bamboo-data - Bamboo Volume Storage
postgres - Database Server
postgres-data - Database Volume Storage
bamboo-agent - Bamboo Agent

Usage

$ mkdir bamboo-stack
$ cd bamboo-stack
$ wget https://raw.githubusercontent.com/matisku/bamboo-docker/master/docker-compose.yml
$ docker-compose up -d .

This will create a new docker stack called bamboo-stack

Bamboo Server

Once stack will start, provide a license. If you are using docker-compose.yml from my repository, as a database hostname use postgres and for database user and password use bamboo.

Bamboo Agent

Once stack will start, go to Bamboo Server Administration->Agents and disable remote agent authentication. This will add any new agent automatically to the Bamboo Server. If there is a need to have remote agent authentication enabled, enable each agent manually.

Environment

###Bamboo Server:
BAMBOO_HOME - Bamboo home directory. Default: /home/bamboo
BAMBOO_VERSION - The version to install an run. Default: 5.15.3
BAMBOO_BAMBOO_SERVER_ID - Used for agent authentication withing docker-compose. Default: bamboo-server

###Database:
PGDATA - Database Storage Folder. Default: /var/lib/postgresql/data/pgdata
POSTGRES_DB - Database Name. Default: bamboo
POSTGRES_USER - Database User. Default: bamboo
POSTGRES_PASSWORD - Database Password. Default: bamboo

###Bamboo Agent:
AGENT_VERSION - This should match the version of Bamboo Server. Default: 5.15.3
BAMBOO_SERVER - URL or IP of Bamboo Server where agent should be attached. Default: bamboo-server
BAMBOO_SERVER_PORT - External port of Bamboo Server UI. In case of using docker-compose stack, this can be linked name. Default: 8085
PACKAGES - space separated list of additional packages which should be installed on Bamboo Agent. Default: "mc htop"

###Ports: Bamboo Server: 8085, 54663
Database: 5432

Metadata

License

Copyright © 2016-2018 Mateusz Trojak. See LICENSE for details.

Contributors

Any forks are welcome!

bamboo-docker's People

Contributors

geoghegan avatar matisku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bamboo-docker's Issues

Support for custom agent homedir

The agent should support arbitrary BAMBOO_AGENT_HOME directories passed in as an environmental variable.

Currently the BAMBOO_AGENT_HOME defaults to /root/. With an arbitrary homedir, we can mount this from the Docker host and preform actions on it outside the container

Support for Agent security token verification

Bamboo supports "Security Token Verification" - where the agent passes a, static, token to the server for authentication.

It would be nice for the agent scripts to support these security tokens.

The format for launching with a security token is

java -jar atlassian-bamboo-agent-installer-${AGENT_VERSION}.jar http://${BAMBOO_SERVER}:${BAMBOO_SERVER_PORT}/agentServer/ -t ${BAMBOO_SECURITY_TOKEN}

Support for bamboo-capabilities.properties

Bamboo supports setting arbitrary variables in the bamboo-capabilities.properties file of the agent. The format of the file is in the form key=value separated by a return char.

This is useful, for example, to set environment specific variables on the agent. Using these environment specific variables, one can ensure that only certain agents can run certain build and/or deploy jobs. These build and/or deploy jobs can be further restricted down to certain users or groups of Bamboo Server thanks to RBAC.

This means that only certain users can run certain builds/deploys, and these builds/deploys can only happen on certain servers.

It would be nice for this project to support the use of the bamboo-capabilities.properties file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.