Go User Documentation

Installing GoCD server on Linux

Installation of the GoCD server using the package manager will require root access on the machine. You are also required to have a java version 8 for the server to run.

The installer will create a user called go if one does not exist on the machine. The home directory will be set to /var/go. If you want to create your own go user, make sure you do it before you install the GoCD server.

RPM based distributions (ie RedHat/CentOS/Fedora)

The GoCD server RPM installer has been tested on RedHat Enterprise Linux and CentOS. It should work on most RPM based Linux distributions.

If you prefer to use the YUM repository and install via YUM, paste the following in your shell —

echo "
[gocd]
name     = GoCD YUM Repository
baseurl  = https://download.gocd.io
enabled  = 1
gpgcheck = 1
gpgkey   = https://download.gocd.io/GOCD-GPG-KEY.asc
" | sudo tee /etc/yum.repos.d/gocd.repo

sudo yum install -y java-1.8.0-openjdk #atleast Java 8 is required, you may use other jre/jdk if you prefer

Once you have the repository setup, execute

sudo yum install -y go-server

Alternatively, if you have the server RPM downloaded:

sudo yum install -y java-1.8.0-openjdk #atleast Java 8 is required, you may use other jre/jdk if you prefer
sudo rpm -i go-server-${version}.noarch.rpm

Debian based distributions (ie Ubuntu)

The GoCD server .deb installer has been tested on Ubuntu. However it should work on most Linux distributions which use debs.

If you prefer to use the APT repository and install via apt-get, paste the following in your shell —

echo "deb https://download.gocd.io /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.io/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt-get update

Once you have the repository setup, execute

sudo apt-get install go-server

Alternatively, if you have the server DEB downloaded:

sudo dpkg -i go-server-${version}.deb

Managing the go-server service on linux

To manage the go-server service, you may use the following commands -

sudo /etc/init.d/go-server [start|stop|status|restart]

Once the installation is complete the GoCD server will be started and it will print out the URL for the Dashboard page. This will be http://localhost:8153/go

Location of GoCD server files

The GoCD server installs its files in the following locations on your filesystem:

/var/lib/go-server       #contains the binaries and database
/etc/go                  #contains the pipeline configuration files
/var/log/go-server       #contains the server logs
/usr/share/go-server     #contains the start script
/etc/default/go-server   #contains all the environment variables with default values. These variable values can be changed as per requirement.

Copying existing config to a new GoCD Server instance

You can replicate a GoCD server with all the pipeline, stage, job, tasks and materials definitions/configuration intact.

To do this, the administrator should copy cruise-config.xml from the config directory to the new server and clear serverId attribute of server tag.

Note: Copying just the cruise-config.xml file will not migrate the historical pipeline data and artifacts. Please see the page on backing up the GoCD Server to fully migrate an existing GoCD server.

Also see...