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

On Sat, May 7, 2022 at 3:27 PM Chad Wilson <ch...@thoughtworks.com> wrote:

> 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.
>       - Support for Java API plugins
>       <https://www.gocd.org/releases/#17-2-0> were removed in GoCD 17.2.
>       - 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 <https://www.gocd.org/releases/#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 <https://www.gocd.org/releases/#19-1-0>: Removal of support
>    for DES encryption in config values (replaced with AES)
>    - 20.2.0 <https://www.gocd.org/releases/#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
>       <https://www.gocd.org/releases/#20-6-0>
>    - 20.5.0 <https://www.gocd.org/releases/#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.
>
>    - General docs:
>    https://docs.gocd.org/current/installation/upgrading_go.html
>    - DB Upgrade Docs for GoCD 20.5.0:
>    
> https://docs.gocd.org/current/installation/upgrading_go/upgrade_to_gocd_20.5.0.html
>    - If you are trying to keep your entire configuration, pipeline
>    history, artifacts etc in tact between upgrades you are probably going to
>    want to have backups
>    <https://docs.gocd.org/current/advanced_usage/one_click_backup.html>
>    of *everything* (server config, your entire data folder/artifacts etc)
>    and have ability to do experimental upgrades to various target versions in
>    a separate environment.
>
> 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
>
> On Thu, May 5, 2022 at 4:20 PM Nikita Singh <nikitasingh0...@gmail.com>
> wrote:
>
>> 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?
>>
>> --
>> 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+unsubscr...@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
>> <https://groups.google.com/d/msgid/go-cd/18d5a9f8-f3c9-45da-9704-f23dfe990f67n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/go-cd/CAA1RwH9aSgspeMwX9twH3MN%2B6b%2B3eLyg3f88j_bpnd4tEPWSrQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/go-cd/CAA1RwH9aSgspeMwX9twH3MN%2B6b%2B3eLyg3f88j_bpnd4tEPWSrQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/go-cd/CAMUPJd70ic8%3D8o12QKTSH7%2B1GAy0uCSCdKBNtMb7fOC8DjjUog%40mail.gmail.com.

Reply via email to