When developing an application no matter the technology, it’s a good practice to take advantage of a Continuous Integration server, especially when working an agile approach. In this way we make sure that every portion of code developed by the team is validated before being deployed.
There is a wide range of products out there to do this, such as CruiseControl, Jenkins or TeamCity.
In a current development I’m working on, I’m using Team City for the first time. And, in my opinion, it is a reliable and incredibly simple environment to set up and use. This wasn’t a surprise becoming from a company like Jetbrains, very well-known for being the creators of high quality products like Re Sharper or Intelli J.
TeamCity makes really quick and easy to set up the build process of a project, including steps such as taking the code of a source control repository when a new commit is detected, building the solution, executing the Unit Tests, launching code coverage tools or finally, deploying the app.
For example, the project I’m working on is set up in the following way:
- A trigger was created in TeamCity to take code from BitBucket every time a developer performs a <push>.
- Team City downloads the latest changes in the code and builds the solution, generating a release (or the bug) version of our app.
- Team City scans the solution looking for tests assemblies. Then when being found, it executes those using MS Tests.
- If the previous steps are completed successfully, Team City deploys the application to specified target.
- Finally, your site is up and running.
Overall, you have just seen how simple is to use a continuous integration system and all the pros it brings to your team, keeping your deployments under control.by