Peter Gfader's brain noise
TFS vNext Feature Request: Fail build if CodeCoverage dropped over 1 day

Sad to see that this is still not part of TFS2012.

Rob described how to do this manually here
http://scrumdod.blogspot.ch/2011/04/fail-build-if-code-coverage-is-low.html

How often do you ship new software? More than 2times a day? #mindblowing

Why not?

Look at these numbers:

and this system is deployed twice a day.
Scary if you compare this to our “little” projects

FaceBook ships twice a day
https://www.facebook.com/notes/facebook-engineering/ship-early-and-ship-twice-as-often/10150985860363920

Automated deployments with TFS

There are 2 options to configure your build output and Vishal highlights the differences between those 2:

  1. “config Transformation”  
  2. “config Parametrization” 

Yes this is for Microsoft tooling.

My 2cents
“Transformation” is only applied via VisualStudio and runs during the build.
“Parametrization” is for deployments and runs during deployment.
Now you should ask: How do I configure my app running in production?
There is no answer from Microsoft, so you free to come up with your own solution!

————————

Full article
Web Deployment: Web.Config Transformation
http://vishaljoshi.blogspot.ch/2010/06/parameterization-vs-webconfig.html

How to: zero-downtime database deployments

Great idea to split database deployments in 2 steps.

  1. expansion scripts
  2. contraction scripts (cleanup)

The expansion scripts are run at some point prior to upgrading the application and the contraction scripts are run once the system has been upgraded and considered stable. This produces a nice benefit of decoupling database migrations from application deployments. The expansion scripts could be run a day or more in advance of the application deployment at a time that is convenient for database changes. The contraction scripts could be run potentially days after the deployment once everything has been validated with the new release.

Weekly Release Blog #11 – Zero-Downtime Database Deployment
http://exortech.com/blog/2009/02/01/weekly-release-blog-11-zero-downtime-database-deployment/

Continuous Deployment to Azure with TFS

Nice explanation of different environments like: Development, Testing, Staging, UAT and Production.

#1
In one of my last projects we had a “stresstest” environment where we ran stress tests every night from 3AM-5AM.

Did i mention the importance of highlighting the different environments somewhere? Maybe a different web site background color or a big label on top: “STRESS TEST ENVIRONMENT: Stay out!”

#2
Make sure to automate the deployment to those environments as much as possible