Deployment Chain

We are using TeamCity to do a build and then deploy to different environments but our solution is not entirely perfect. Currently we have 5 builds setup in TeamCity. The first is the master build which is triggered by a checkin and publishes artifacts. Once build our Dev deployment kicks in and publishes the artifacts to our development server. The third build deploys to our QA environment, this is triggered manually and will publish the most resent master builds artifacts. The fourth build deploys to our beta environment, again this is manual build which will publish the last pinned master build. And finally the fifth build publishes to our production environment, this is also manual and will publish the last pinned master build.

What we want to acheive is some sort of chain where The QA build picks up it's artifacts from the development build, the Beta from QA and Production from Beta.

The other problem we have with our existing setup is tagging subversion after doing a deployment. The tagging works for a release to QA as we release the most recent build however for Beta we do not know what revision has been pinned. Is there anyway to achieve this with TeamCity or do we have to do something with nant/msbuild?

Thanks,

Matt

2 comments
Comment actions Permalink

Hi!

Sorry for the delay in replying.

We have alike issue filed: http://jetbrains.net/tracker/issue2/TW-5971 there are also several related ones. You can watch/vote for them.

For the time being, I guess you can re-publish artifacts from the dev build to deployment build and when you deploy from QA to beta, take the artifacts from the last pinned QA build. You can also configure a build to get not the last pinned, but a build with specified build number and provide the build number in the custom build run dialog (here is a description of how we have the dependecny configured).

As to VCS tagging, seems this cannot be achieved currentkly in TeamCity. You can consider doing this in your build script (e.g. storing the revisions in a text file in artifacts and then VCS-tagging the revisions in the deployment build).

0
Comment actions Permalink

Thanks very much for the response. I will have a go with your suggestions.

0

Please sign in to leave a comment.