Bob Lokerse

My thoughts on blog


Build and deploy from the start

29 December 2016

Intro

A lot of times applications are deployed by hand on a developers laptop.

That can be time consuming and it is mostly done by one, or a few developers within the team.

With a build server, you know you have an independent build, unit tests & code analysis checked (if setup) and a package that can be tested by the test team, if deployed.

If the application has had some releases, it is setup for manual builds and deployments. When that is in place, the application must be adjusted for a build and deploy server. For example the transformation of the configs now needs to be done at deploy time instead of at build time; that is because the package from the build can potentially go from test all the way to production. When done manually, it is build for a specific environment. That also means that when a version is approved by the test team, a new build needs to be made for the acceptance environment; the same for production.

From the start

So, how to smoothly implement this? Well, when there is little to nothing to integrate: at the start of the project.

With no history it is easy to configure and the application is setup correctly from the start. The CI setup can grow with the application, although probably little to no changes are required. And every team member can do a deploy.

Especially Octopus Deploy is easy to use, also non-developers can do a deployments once it it setup (for .Net projects)

Some options for build servers are:

  • Team Foundation Server (TFS). Depending of the version, it might need an upgrade (Compiler version / .net framework version)
  • A hosted build server AppVeyor
  • An on premise option is Bamboo

Extras

Unit test basics

Another good thing to setup from the start, is the unit test basics. Setup the use of a fake database with dependency injection and make some unit tests that can be used as examples.

For Sitecore projects, these are good blogs:

Peer reviews

To share the code and knowledge of the application and it changes, do peer reviews between developers of a feature. It also triggers the talk about the way of coding, to improve the coding guidelines, uniform coding.


Bob Lokerse

Sitecore .net developer @ Tahzoo

Twitter || LinkedIn || Github

Bob Lokerse profile