Upgrading Go
Introduction
To upgrade from a previous version of Go, it is only necessary to upgrade the Server. It is not necessary to stop or backup the Go Agents. Agents will automatically update to the correct version of Go.
It is possible to backup the Go server while the server is still running. However we recommend that you stop and backup the server manually before performing these steps.
Before you start
Since Cruise 1.1 (legacy version of Go), we do not include a bundled version of the Subversion version control system. This means that if you use Subversion for your projects the server and all agents need to have Subversion installed and available on the system path.
Since Cruise 1.2 (legacy version of Go), we do not include a bundled version of ANT. This means that if you use ANT for your projects the server and all agents need to have ANT installed and available on the system path.
Backing up your data
Backup the cruise-config.xml file
In linux/unix installations this can be found in /etc/go
On Windows this is in [Go install directory]\config - normally this would be C:\Program Files\Go Server\config
On Macintosh OSX this folder is found in /Library/Application Support/Cruise Server
Backup the Go server's db directory
On linux this is found in /var/lib/go-server/db
On Windows this is in [Go install directory]\db - for a default installation this would be C:\Program Files\Go Server\db
On Macintosh OSX this folder is found in /Library/Application Support/Cruise Server/db
Backup the Go server's artifacts directory
On linux this is found in /var/lib/go-server/logs as default installation.
On Windows this is in [Go install directory]\logs - for default installation this would be C:\Program Files\Go Server\logs
On Macintosh OSX this folder is found in /Library/Application Support/Cruise Server/logs
Upgrading to the new version
You do not need to stop the Agents to perform an upgrade. Go agents will automatically update to the correct version of the software. You do not need to upgrade the Go agents. Any builds in progress will be rescheduled, and the existing pipelines will complete as expected.
If you are upgrading from a pre-2.1 release, the agent's directory structure will continue to be called "cruise-agent" and will not be renamed to "go-agent". This is normal and will not cause any issues.
Go will perform upgrades of its internal data structures when it starts. This process may take some time for installations with a large number of historical builds (10 to 15 minutes on very large installations). If you suspect that there is a problem with the upgrade, check the go-server.log to see if there are any reported errors. This is a one-time migration and subsequent restarts will be much faster.
Windows
Run the Go installer. Make sure that you specify the same directory as your previously installed version.
If you have changed the Go Server Windows service to run as a different user, you will need to repeat this configuration change.
The installer will automatically start the service. Once Go completes its internal data changes, you should be able to see the Go webpage. Any existing Agents should automatically reconnect. Any builds in progress should continue, or be rescheduled.
Linux
Debian based distributions (i.e. Ubuntu)
Run the Go installer as described 'sudo dpkg -i [go-server-package-name]'.
RPM based distributions (i.e. RedHat)
Run the Go installer as described 'sudo rpm -U [go-server-package-name]'.
Macintosh OSX
The Macintosh OSX edition of Go 2.1 does not support upgrades. You should follow the steps above to backup your data, uninstall Go/Cruise (by dragging the application into trash), and then perform a fresh installation.
Solaris
The Solaris edition of Go 2.1 does not support upgrades. You should follow the steps above to backup your data, uninstall Go/Cruise, and then perform a fresh installation.