Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mastering the pipeline


Published on

  • Be the first to comment

  • Be the first to like this

Mastering the pipeline

  1. 1. Mastering the pipeline Jorrit SalverdaTechnical architect @ AKQA Amsterdam
  2. 2. What they have in common● Little time for project setup● Many deployments near go-live● Pipelines up to UAT/PROD
  3. 3. Goals● Short feedback loop● Rapid deployments● Optimised for build grids● Executable on any machine● Easy to set up
  4. 4. MSBuild by convention● Convention over configuration● Open sourced on Github (MIT license)● Easy to upgrade● Conventions can be overridden
  5. 5. Conventions● Source directory structure● Javascript and css dirs● Postfixes for project names ● *.Website ● *.Database ● *.UnitTests ● ... and more
  6. 6. /t:Build● C# (versions the assemblies)● ASP.NET views● Javascript (JSHint)
  7. 7. /t:RunUnitTests● Compile only if needed● NUnit● Machine Specification● MSTest
  8. 8. /t:Release● Minify (YUI Compressor)● Version images, fonts, flash● Create Azure packages● Transform configs● Zip artefacts
  9. 9. /t:RunIntegrationTests● Deploy database and website to INT● Run integration tests
  10. 10. /t:AnalyzeWithSonar● Code quality (FxCop)● Coverage (OpenCover)● Sonar
  11. 11. /t:Deploy /p:DeployEnvironment=UAT● To IIS (MSDeploy)● To Azure (Powershell commandlets)● Windows Services (Robocopy)
  12. 12. /t:Deploy /p:DeployEnvironment=PROD● Untested configuration!
  13. 13. Whats next?● Automated rollback if smoke test fails● Hook into monitoring (Github)● Cross-browser testing (The Guardian)
  14. 14. // todo● Copy those scripts...
  15. 15. Thanksmsbuild by convention github repo: blog post: me at: