Continuous Integration in .Net

Times have changed, the tools have improved, and with books like this available you have no reason to not give CI a go.

I still remember the first time I was on a project that used NAnt and CruiseControl.NET. It was years ago and both were new tools with plenty of bugs. The project manager took one of the team’s architects and dedicated him to getting CI up and running. I didn’t work with him for another 9 months. It was a complete nightmare. Every morning was dedicated to finding out why the builds failed, fixing the issue, and then manually rerunning the builds until successful. Then it was off to show management the new build reports. It didn’t take long for them to not want to be hassled with the process. A year after it all began the code base was removed from the CI process and went back to manual builds.

Not a very good story to start the review of a book on CI that I highly recommend you read. Times have changed, the tools have improved, and with books like this available you have no reason to not give CI a go. You may have plenty of excuses, but no reasons. Luckily this book contains a nice summary of excuses commonly used and does a nice job of debunking them.

The book starts off with a chapter titled “Understanding continuous integration” which gives a nice overview of CI and introduces the CI tools. They include source control, CI server, feedback mechanism, build manager, unit test framework, documenting, and code-analysis tools.

The book continues with chapters on Setting up a source control system, Automating the build process, Choosing the right CI server, Continuous feedback, Unit testing continuously integrated code, Performing integration, system, and acceptance testing, Analyzing the code, Generating documentation, Deployment and delivery, Continuous database integration, and Extending continuous integration.

One of the things I like about the book is that it is .NET centric and not Microsoft centric. It introduces the Microsoft tools, other vendor’s tools, and open source tools. For example, Subversion, TFS, SourceSafe, Git, and Vault are introduced as source control options, Nant and MSBuild are introduced as build tools, and CruiseControl.NET, TFS 2010, and TeamCity as CI servers.

The authors do a great job of providing in-depth examples of the different tools and technologies. The example’s accompanying downloadable code is very well organized and usable.

Although implementing CI can be a big change for a team, this book will definitely help educate you and your team on all the different tools available in the context of .NET projects. That give a big advantage when planning your team’s path to CI.

All in all I highly recommend using CI on your projects, but I recommend reading this book first even more.

Tad
Tad lives in Mount Joy, PA with his wonderful wife Wendy and his faithful companion Artimus (4 year old Maltese). He has been programming since 1992 and specializes in Software Architecture. He is currently serving in the role of Enterprise Architect at Penn National Insurance.

 

Tad Anderson
Tad lives in Mount Joy, PA with his wonderful wife Wendy and his faithful companion Artimus (4 year old Maltese). He has been programming since 1992 and specializes in Software Architecture. He is currently serving in the role of Enterprise Architect at Penn National Insurance.

The Related Post

This post is part of the Pride & Paradev series With continuous deployment, it is common to release new software into production multiple times a day. A regression test suite, no matter how well designed, may still take over 10 minutes to run, which can lead to bottlenecks in releasing changes to production. So, do ...
  LogiGear_Magazine_June 2016_Testing in the New World of DevOps  
How to ensure a successful test-driven environment In order to ensure a higher quality product is released in the end, many teams have turned to test-driven development. Under this scenario, quality assurance metrics professionals first create various QA tests, and then software engineers code based on these tests, typically while using a robust enterprise test management ...
Introduction Everything changes. It’s the only constant. The landscape of software testing is undergoing a fast and dramatic change driven by societal, business and technology changes that have placed software everywhere. Computing is ubiquitous. There is hardly anything today that doesn’t contain a CPU or information transmission capability, with software to drive it. From smart toasters ...
LogiGear University announces the launch of a new, free video series on Testing in DevOps and Continuous Testing which is available today.
For this month’s book review, I read Continuous Testing for DevOps Professionals: A Practical Guide from Industry Experts, by various authors and edited by Eran Kinsbruner. The book is divided into 4 sections: Fundamentals of Continuous Testing, Continuous Testing for Web Apps, Continuous Testing for Mobile Apps, and The Future of Continuous Testing. The Fundamentals ...
Throw away clunky hyper-visors, and stop thinking about computer hardware and software license during your development projects. The first thing you think about when you hear “The Cloud” may not be development and testing. The Cloudy market is filled with SaaS applications, hosting, and cloud-based file systems. All are very useful, and offer a clear ...
From adopting the culture, to implementing Continuous Delivery With the relative newness of DevOps, there are not yet a ton of DevOps books. That’s why we’ve assembled a list of the 7 best DevOps books based on four criteria: the number of ratings from Amazon, the average Amazon rating, number of ratings from GoodReads and the ...
LogiGear Magazine June Issue 2018: TESTING in DEVOPS
How to Adopt the “Third Way” in the Dojo’s Method to Master CD In The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations the authors describe “The Three Ways” – the underlying principles forming the basis for all DevOps practices. 
In this article, I share some of my experiences and observations on training teams, mainly in corporate settings. The operative word here is “team”, not “individual”. When training teams or groups in an organization, many of the considerations and benefits are different than those for the individual. We’ll examine those differences and I will share successful solutions. ...
Having the right skills and experience, even if you have to go outside, is essential for designing tests for large-scale cloud deployments. Moving existing applications to a cloud environment adds new dimensions to testing. One of the primary reasons for moving to the cloud is scalability. Capacity to handle traffic and data transfer can be ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe