Upgrade planning

Hello,

We're running pretty old (2018.2.1) version of TeamCity and planning an upgrade to the latest.

The goal is to migrate TC server and TC database to new servers and make it multinode setup.

As I understand our workflow should be like this (high level) :

1. Install older (2018.2.1) version to new TC server and copy all configuration from old server

2. Export the old db and import to new db server

3. Execute the installer of latest version witch will upgrade new server (and db)

4. Then, we can install additional TC server with new version and join it as multinode setup

Please correct me if I'm wrong or there is better workflow.

 

Also - is there  a way to lock (old)  TC instance for updates so no project/build setting will be changed during the migration , until new instance is operational. 

 

Thanks !

 

 

2 comments
Comment actions Permalink

Hi,

Your plan seems fine, but let me clarify a few things regarding each step. First, please take a look at Creating a Server Copy with All Data and Moving TeamCity Installation to New Machine. Here you will find detailed instructions and checklists that can be very helpful for this sort of migration. 

1. Install older (2018.2.1) version to new TC server and copy all configuration from old server

This is good, but be sure to check for any environment differences that need to be adjusted in the configuration files.

2. Export the old db and import to new db server

If you have database tools that you're already familiar with, it is fine to use those to migrate the data. Otherwise, there are some other options available from TeamCity. To see the details on the TeamCity approaches, please refer to Migrating to an External Database. Although these instructions are written for users who are migrating from the internal database to an external database, the process is the same for migrating between external databases.

3. Execute the installer of latest version witch will upgrade new server (and db)

Before performing the upgrade, I would suggest first checking to make sure your new server works as expected in TeamCity 2018.2.1. It is also very important to create a full backup at this point, because the upgrade will convert the data directory and database to the newer data format. It is not possible to downgrade the data format, so it is nice to have the full backup in the unlikely event of an upgrade issue.

Once this is complete, you can either run the upgrade from the installer, as you mentioned, or from the Administration | Updates menu in the TeamCity web UI. Be sure to read the documentation covering TeamCity Upgrades, here you will find a checklist to help make sure this part goes smoothly.

4. Then, we can install additional TC server with new version and join it as multinode setup

Yes, you can add another TeamCity node at this point. Our documentation on Multinode Setup should be helpful here. 

Also - is there  a way to lock (old)  TC instance for updates so no project/build setting will be changed during the migration , until new instance is operational. 

It is recommended to stop your existing TeamCity instance once you begin the database migration portion in order to prevent any such issues. However, it is possible to run TeamCity 2018.2.1 as a read-only secondary node. So you could use this on your existing installation during your migration, if you do need access to the server. For the details on this, be sure to read the 2018.x documention covering Configuring Secondary Node.

0
Comment actions Permalink

Thank you Eric, that's very helpful !

0

Please sign in to leave a comment.