Thursday, September 11, 2014

Let's build Sitecore Open Source with TeamCity

Over the past few years I've been focusing on applications life cycle as one of the key areas of my daily job. I've also spent some nights creating Sitecore PowerCore, Sitecore Courier, and many other build/deploy/test related tools. But one of the projects has always been postponed for different reasons. The project I'd like to share is a build playground which you can touch & feel, and it is built using my favorite tools:

  • TeamCity
  • Sitecore PowerCore 
  • Sitecore Courier
  • and some more

I really like the way the company behind TeamCity (JetBrains) manages their open-source contributions and 3rd-party modules. Every project has a build configuration associated with it, so it allows better collaboration, easier maintenance (I'd never released so many updates to Sitecore Mobile Device Detector if there was no build server to package it every time), testing capabilities, and much more!

You can find the website with sample configurations here:

buildsitecore.cloudapp.net

Some of them are real, the other ones are just "dreams", but of course it is possible to implement all of them. 

Here are the few examples:

Shared Source module that can be installed at Sitecore instance. 
It will usually have a "Packaging" configuration and maybe automated submit to the Marketplace.



Sitecore extension or framework that is distributed via NuGet. 



Some open-source demo website
It can have basic CI for collaboration and maybe test playground in future.




Standalone tools and utils, like Sitecore Courier




Would you like to see more modules added to such build server? Let me know! And maybe someday Sitecore will notice it and move the server to http://build.sitecore.net or something alike :)