Installing GoCD server on Linux
- RPM based distributions (ie RedHat/CentOS/Fedora)
- Debian based distributions (ie Ubuntu)
- Managing the go-server service on linux
- Location of GoCD server files
- Copying existing config to a new GoCD Server instance
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 —
sudo curl https://download.gocd.org/gocd.repo -o /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.org /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt-get update
Note: The GoCD server and agent require Java 8 to be installed.
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install -y openjdk-8-jre
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...