iSense TALKS .NET Continuous Delivery with TFS 2013

When: Wednesday 11th of June 2014, 17:00 to 21:30
Where: iSense office, Gouda, the Netherlands
Who: Presentation by Melvin Nijholt on Continuous Delivery with TFS 2013
Total attendees; about 40 from different companies.

20140618-210915.jpg

Dinner at 17:00… walk in and talk…

Summary

Melvin explained the built-in TFS 2013 tool that helps with setting up a Continuous Delivery Pipeline. The tool that Microsoft now incorporated into TFS is a bought tool, previously called InRelease.

20140618-210835.jpg

Melvin presented the slides (See this PDF: Continuous Delivery & Team Foundation Server) and took us through setting up a continuous delivery pipeline for a web application. He based a lot of his talk on the processes described in the book that he brought Continuous Delivery – Jezz Humble, David Farley he called the ‘Bible of Continuous Delivery’.

One of the practices he showed here was the difference between:

  • Branch promotion
  • Build promotion

If we consider what we are now usually doing, we are doing ‘branch promotion’ because we promote code from our dev-branch upto our trunk (main) and than we each week create a weekly release branch.

Build promotion works differently; a build of the existing branch (mainline) is simply promoted to a next environment. Within Release Management in TFS 2013, a reference to a build definition is set so that Release Management can find the output of that build and place it on a different environment.

The example that Melvin walked us through included:

  • Setting up the build
  • Using the proper Release Management build template
  • Setting up the environments (dev, acceptance, user acceptance, production) with Release Management
  • Make code changes, commit the code and see the auto deploy happening
  • Having verification steps in the process for approvers within the Release Management tool (individuals or teams)

Next steps?

Possible steps within our company?

If we could install TFS 2013 as a spike on a system including Release Management we might setup a spike for example for one of our WEB projects to see how this stuff works! Let’s go!