Testing upgrade of database

We currently have a build farm of 40 build agents and running Teamcity 3.1.1.

We're in the beginning stages of validating an upgrade to teamcity 4.   I'd like to test that the database upgrade goes smoothly.  I can snapshot my current db and restore it as test db.  I'm afraid though that if startup my teamcity 4 eap instance it will attempt "talk" to my existing buildagents.

Is this true?  If so, how do you test an upgrade without interfering with existing agents?

Ruel Loehr

Comment actions Permalink

Usually if you have backup of your database and configuration files you can simply try to install 4.0 version. Even if something goes wrong you will be able to restore your data and start previous version of TeamCity. Since agents support upgrade and downgrade this should not be a problem.

If you want to be 100% sure you can install 4.0 on another PC. TeamCity server will not attempt to start a build on an agent until agent registers on the server. Since all your agents are communicating with old TeamCity server new installation will not affect your build farm.

Comment actions Permalink

This still isn't a great a solution for me, here is why.

Teamcity has become a mission critical application in our organization.   I can't afford "much" downtime with it.     Certainly, taking it down, applying an upgrade, hoping for the best and possibly having to roll it back isn't the course of action I hope to take.

Is the standard course of actions for customers simply to put the new war file out on the teamcity server and restart?   How prevalent are db upgrade failures?

Comment actions Permalink

Well upgrade failures caused by bugs in TeamCity converters are rare and if such situation occurs if you have backup you can easily revert your database/configs. More critical are the bugs or incompatibilities introduced into the new version of TeamCity. And in your case if TeamCity server is so critical the better way is to install it in parallel, take a couple of agents from the build farm and try to build most critical builds using new TeamCity server.


Please sign in to leave a comment.