Last week my colleague and I were invited to come to Kentico Headquarters in Brno to help design a solution for Continuous Integration in combination with Kentico.
- Room with a view
Before I jump into all the fun let me first explain what Continuous Integration is with the following quote:
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. - Thoughtworks
The main cause for our troubles with CI and Kentico are the related to the part of Kentico which lives inside the Database. I'd like for all Kentico objects to:
- easily keep history
- merging changes from different environments using proper tools
- deploy (a batch of) changesets to other developers or servers and be able to restore them
I ideally would have all my code and Kentico database objects inside a code version tool like Microsoft's TFS. Have a tool like TeamCity automatically deploy and rollback your code. This would free time which now consists of a manual processes using Kentico Export and Import.
So The next day we started with the team from Kentico. After explaining our problems, goals, daily scenarios and our dream solution we used rest of the day to design and discuss a solution.
- Kentico & Evident CI team
The Kentico team gave us some scenarios with Pro's and Cons, and at the end I believe we had a solid idea of what the solution should and shouldn't do. The Kentico team is working hard on this solution, but for now I think its safe to say it will contain a 'button' to start CI mode and an 'other button' to trigger import (a you-had-to-be-there-joke).
After a day of work it was time for some well deserved drinks in 'The Pub'. Thanks to a few wrongly appointed beer pouring I (#2) won the "contest", but actually Dominik (#7) was the winner.
The second day at Kentico HQ we talked about our ideas and experience with different areas of Kentico. Like Platform development, Content Management and E-Commerce.
After lunch we had some time left to play table football.
Amazingly of course team Evident (Jacob & David) beat team Kentico (Iva & Dominik) the first round... after the second round we had to crawl under the table (Kentico guys will know what happened :) ).
Unfortunately it was time to go home again.
But I'd like to thank the people at Kentico for their hospitality, fun and very constructive help with CI. I had two great days and hope to get back to Brno again soon!