Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Continuous Deployment with TeamCity

I recently set up a CI server in TeamCity and now want to take it to the next step, continuous deployment. Basically, we host a suite of restful services and about 3 web applications for each one of our customers. All customers get 3 environments QA, UAT and Prod. We want to be able to automatically deploy our builds once our tests pass. I'm not looking for custom scripting options to do this. I've seen plenty of those of SO. What we're looking for is a solutions like UDeploy but at a lower price point. Is anyone aware of alternatives to UDeploy? Or other Continuous Deployment plugins that work with TeamCity?

Thanks,

like image 726
dalcantara Avatar asked Apr 17 '12 14:04

dalcantara


People also ask

Is TeamCity a continuous integration tool?

 JetBrains TeamCity is a user-friendly continuous integration (CI) server for developers and build engineers free of charge with the Professional Server License and easy to set up!

Can you deploy with TeamCity?

TeamCity provides the Deployment type of build configuration. Build configurations which perform deploying to some environment can be marked with this type: these are usually build configurations that have snapshot or artifact dependencies on the builds whose results they deploy.

Is TeamCity a CI or CD?

TeamCity is a general-purpose CI/CD solution that allows the most flexibility for all sorts of workflows and development practices. The Projects Overview lets you quickly check the status of your builds, see what triggered them, download the latest build artifacts, and more.

Why TeamCity is better than Jenkins?

Contents. Jenkins is an open source continuous integration tool, while TeamCity is a proprietary offering from JetBrains. TeamCity is easier to configure and more straightforward to use, while Jenkins has a rich plugin ecosystem and integrations.


3 Answers

Another alternative: RedGate has recently updated pricing on their Deployment manager tool: http://www.red-gate.com/delivery/deployment-manager/

If you have 5 projects or less, the tool appears to be free.

like image 180
Dan Esparza Avatar answered Oct 22 '22 04:10

Dan Esparza


If this is .net you should look at Octopus, it now works nicely with TeamCity.

http://www.octopusdeploy.com/

http://www.paulstovell.com/octopus/octopus-octopack-and-teamcity

like image 29
Orn Kristjansson Avatar answered Oct 22 '22 05:10

Orn Kristjansson


I don't know if there's any part of this I don't understand, but I would use TeamCity for that also.

If you have a build configuration to manage your tests, you can easily create configurations for deploy, which are triggered by the success of the test configuration. We handle lots of our deploys that way.

Again, sorry if I'm missing something here...

EDIT:

A build configuration in TeamCity can be triggered when another configuration is successfully built: Build triggering in JetBrains documentation (Look at "Finish Build trigger")

Or you could use one build configuration with many "Build steps": Build steps in JetBrains documentation

Each step is run in order, and only if the previous step is successful.

like image 37
Niklas Wulff Avatar answered Oct 22 '22 05:10

Niklas Wulff