Skip to content

Go Continuous Delivery

Richard Downer edited this page Apr 21, 2014 · 2 revisions

This page documents a WIP to create a Go continuous delivery system for Brooklyn. For more information on Go, see http://go.cd. This is completely unrelated to the Go that is a programming language!

Basic setup

Go Server

# Install yum dependencies
yum install -y java-1.7.0-openjdk git

# Install Go server
wget http://download01.thoughtworks.com/go/13.4.1/ga/go-server-13.4.1-18342.noarch.rpm
rpm -i go-server-13.4.1-18342.noarch.rpm

Now browse to http://ip:8153

Go Agent

# Install yum dependencies
yum install -y java-1.7.0-openjdk git

# Install Maven
wget http://apache.mirrors.timporter.net/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz
mkdir -p /opt
cd /opt
tar xzf ~/apache-maven-3.2.1-bin.tar.gz
ln -s apache-maven-3.2.1 apache-maven
echo 'export M2_HOME=/opt/apache-maven' > /etc/profile.d/maven.sh
echo 'export PATH=${M2_HOME}/bin:${PATH}' >> /etc/profile.d/maven.sh

# Install Go agent
wget http://download01.thoughtworks.com/go/13.4.1/ga/go-agent-13.4.1-18342.noarch.rpm
rpm -i go-agent-13.4.1-18342.noarch.rpm
sed --in-place=~ 's/GO_SERVER=.*/GO_SERVER=10.20.30.40/'
service go-agent start

Now go to the Go Server, Agents tab, tick the new agent and click Enable.

Pipelines and stages

Compile and unit test

Integration tests - core

  • core
  • locations/jclouds
  • policy
  • utils/common

Integration tests - software

  • software/base
  • software/database
  • software/messaging
  • software/monitoring
  • software/network
  • software/nosql
  • software/osgi
  • software/webapp

Integration tests - other

  • storage/hazelcast
  • usage/camp
  • usage/dist
  • usage/launcher
  • usage/qa
  • usage/rest-client
  • usage/rest-server

Clone this wiki locally