Build Inventory

XAML to the Future

Mon, 22 Oct 2018

Unsplash The is a continuation of a series of posts on the work I did to transition from Legacy XAML builds to Azure Pipelines in December of 2017.

The first step I took was an inventory of the different build types we were using. My thinking was that the most simple build would be the easiest starting point and I could build from there. We had a lot of builds but there wasn’t many variations:

  • CI (Continuous Integration) Build - this was a gated check-in build that would compile the code, deploy the development database and run a small subset of our automated tests. The development team had agreed this was the minimum for new code to be checked in. If the build failed no code was checked-in.
  • Nightly Test Build - this build would run every night the entire test suite. We had different versions of this same build as we had a legacy test suite and a more modern test suite but they could not run together.
  • Staging Build - this build would compile the code into the various components: 2 windows services, a ClickOnce installer for the client, and a database schema compare script. The files were then placed in a staging folder.
  • Deployment Build - this build would actually deploy the code to what ever environment it was configured for. It would stop the destination services, copy over all the new files into their proper locations, do an automated database schema update, and finally start up the services again

Based on this I decided that the CI build would be my best starting point. It was used most often and I could run it as often as I wanted without impacting the rest of the team.

SHARE
André Wanlin

André Wanlin is a Full Stack Developer and Team Leader at Petline Insurance Company, where André leads application development, including system administration and support. André has worked in .NET since 2008 and is passionate about DevOps and development methodologies like Lean, Agile, Scrum and Kanban. He loves to talk about Azure DevOps (formerly Team Foundation Server). André is a dog owner, an avid concert goer, and traveler from Winnipeg, Manitoba. You can reach him at andre@wanlin.ca or go to andre.wanlin.ca or you can catch him walking his dog at one of the many dog parks in the city.