GoServer Migration - Linux

51 views
Skip to first unread message

Nikita Singh

unread,
May 5, 2022, 4:20:56 AM5/5/22
to go-cd
Hello, This is Nikita.

I am looking at migrating GoServer from Linux Redhat V6 to Linux Redhat V8.

Current Running Go Server Version on Redhat V6 :14.2.0

Planning to upgrade Go Server Version on Redhat V8 : 22.1.0

Require help on below queries:

1. Possible migration approach to be followed. Any available documentation for migration.
2. What capacity is the Database being used for GoServer?

Chad Wilson

unread,
May 7, 2022, 5:57:25 AM5/7/22
to go...@googlegroups.com
Hi Nikita

This is a very large upgrade distance, basically spanning the entire open source lifetime of GoCD :-) I imagine this might be challenging as this is over 8 years of change.

Generally GoCD is designed to automatically upgrade its own database schemas and configurations between releases, however there are occasionally deprecations and then feature removals that might require manual intervention. That can extend to plugin changes too.

I would recommend that you scan through the release notes at https://www.gocd.org/releases/ and look out for any major deltas (especially "breaking changes") that might affect your usage and that might require manual action. Some things I can think of that you will want to be aware of

  • General: Any plugins you are using, and required updates to these.
  • General: Any direct GoCD API usage you have, there is likely major change to this.
  • General: You should review any customisation you have done to GoCD's start-up arguments/properties as these may have changed.
  • General: You'll need to consider what agent variants and versions you have.
    • If your agent versions are also very old, they are quite likely to have issues bootstrapping from the GoCD server, so you'll need to have an agent upgrade plan too, especially if you are trying to minimise downtime.
  • 17.5.0+: Review the authentication mechanism for your users. There have been multiple changes to the way GoCD authentication/authorization have been done (especially for passwordfile and LDAP being moved to a plugin style) as well as plugin API changes over time. Although I believe the intent was for it to be an automatic upgrade when initially moved to be via plugin, I'm not sure it would work for such a large delta between releases.
  • 19.1.0: Removal of support for DES encryption in config values (replaced with AES)
  • 20.2.0: TLS support is turned off by default. Assuming you use TLS/HTTPS, this will require you to introduce a reverse proxy or other mechanism into your infrastructure in front of GoCD to terminate TLS on.
    • Support was completely removed in 20.6.0
  • 20.5.0: A one-time manual intervention for database migration is required at this version to convert your database. You can also switch DB types here (e.g H2DB to PostgreSQL)

In general, you are probably going to have to do this as multiple steps I imagine, with some degree of verification at each step. Perhaps 14.2.0 -> something -> 20.4.0 -> 20.5.0 -> 22.1.0. If your usage is simple, you can try going straight to 20.4.0 in a test environment and see how it goes, but I imagine that will depend on the complexity of your usage and how "big" your GoCD server is (how many pipelines, types of materials, plugins you are using, how many agents of what types). It's probably difficult to advise without more details of your setup, and after you have reviewed release notes for possible issues.
I'm not sure about your question on the capacity of the database. What database type is your GoCD server using? If it is the open source version of 14.2.0 you have, it is probably just using the in-built H2 database which is stored on the file-system alongside other server metadata such as pipeline artifacts, logs etc, so capacity isn't really relevant.

-Chad

--
You received this message because you are subscribed to the Google Groups "go-cd" group.
To unsubscribe from this group and stop receiving emails from it, send an email to go-cd+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/18d5a9f8-f3c9-45da-9704-f23dfe990f67n%40googlegroups.com.

Ketan Padegaonkar

unread,
May 7, 2022, 8:50:08 AM5/7/22
to go...@googlegroups.com
In addition to what Chad said — my general advice is that you upgrade your gocd server in multiple steps (after you ensure that a good backup) 14.x->15.x->16.x->17.x->...22.x. The major version number signifies the year of the release — so in a way you're simulating an upgrade every year. The reason is that gocd is mostly backward compatible for upto a year.

- Ketan

Nikita Singh

unread,
May 10, 2022, 10:06:59 PM5/10/22
to go-cd
Thank you Chand & Ketan. Will go through the release notes and take up your on suggestion step by step upgrade.

G S

unread,
Jun 10, 2025, 9:07:36 AMJun 10
to GoCD Users
Hi Chad, thank you for introducing me to this group and the thread.

Hi Nikita Singh,
Hope you're GOCD migration went well, is there any way I can connect to learn from your GO CD Migration Experience?
we are on GO CD V16.1.0 - Cent OS 6

planning to migrate to latest version of GO CD or completely move away from GO CD, depending on the complexity.

Thank you,
Gopal


Sriram Narayanan

unread,
Jun 10, 2025, 10:42:33 AMJun 10
to go...@googlegroups.com
On Tue, Jun 10, 2025 at 9:07 PM G S <gnand...@gmail.com> wrote:
Hi Chad, thank you for introducing me to this group and the thread.

Hi Nikita Singh,
Hope you're GOCD migration went well, is there any way I can connect to learn from your GO CD Migration Experience?
we are on GO CD V16.1.0 - Cent OS 6

planning to migrate to latest version of GO CD or completely move away from GO CD, depending on the complexity.

Let me know if you would like to connect. I take up migration projects from older to newer versions of GoCD. There are complexities around pipeline design that other tools do not support out of the box so we can discuss those as well.

Let me know and I can write to you directly for a discussion.
 
You received this message because you are subscribed to the Google Groups "GoCD Users" group.

To unsubscribe from this group and stop receiving emails from it, send an email to go-cd+un...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages