migrating to a new server and new database

I have inherited a teamcity setup which is using the docker image running on AWS ECS and using the internal database.  This has been used in production for a hile now (bad i know).  I need to migrate to a new team city server on a new AWS subscription using ECS Fargate and to an external Postgresql database.  I've seen refernces to a migration tool which should come as standard with teamcity but it appears that it is not included in the docker image of Teamcity.

 

Can someone please tell me the steps I need to take to achieve this?

0
1 comment

Hi Robert,

 

thanks for getting in touch. The first step I would recommend is checking our documentation on the situation. The second step would be to separate the two tasks. First move the database, then move the server. This will make sure that any issue you catch on the movement will be easier to trace.

 

Regarding our docs, we have specifics for both moving a database from an internal one to an external one: https://confluence.jetbrains.com/display/TCD18/Migrating+to+an+External+Database

 

And then to move the installation to a new server: https://confluence.jetbrains.com/pages/viewpage.action?pageId=113084582#HowTo...-MoveTeamCityInstallationtoaNewMachine

 

Throughout the docs you will find a multitude of links that give more details about process or about specific parts of teamcity. Please feel free to check those out.

 

About the tool you mention, docker images usually are passed an argument with the "data directory". This directory holds most of teamcity's configuration, its artifacts, but, critically, it holds in your case the database connection AND the internal database files. Which means, that if you are using an external data directory (as the installation should be), you can access those from outside the docker container just fine. TeamCity Professional edition is free, so if you don't find the tools we provide (the migratedb in particular, although I'm not aware of it not being available in docker), you can simply download it, set it up on a test environment and it will be there.

 

We would recommend trying to set up a test environment, running tests first to ensure you can get through the process, then proceeding with the production move. If you face any issues or have any further question, please don't hesitate to ask.

0

Please sign in to leave a comment.