Engineering Practices

Getting started with semantic logging

by Richard Kerslake

Semantic Logging A more traditional style of logging is to write a line of text for any significant event deemed worthy of recording. If there is an issue with the application which requires analysis of the logs, it largely requires someone to scan through the log files (of which there could be many) line by […]


If you’ve been using TeamCity for a number of years, there will come a time where the server it’s running on will reach its end of life and your TeamCity instance will need to be moved to a fresh server. As part of this migration process, you may decide to change OS from Linux to […]


We’ve just pushed out version 2.0 of our open-source, component composition framework. This is the framework we use internally day-in, day-out for our dependency injection. The previous version had a dependency on Castle Windsor, but in this new version we have implemented our own container. There are a few reasons we decided to take this […]


Part 1 of the series talked about Different Branching Models. Part 2 covered GitFlow – a Branching Model for a Release Cycle and part 3 covered all the GitFlow Commands. In this final part of this series about adopting GitFlow, we’re going to cover how we can use the exciting new feature branching abilities of TeamCity 7.1 to allow […]


In part 1 of the series I talked about the difference in branching models inherent with the different types of version control system. In part 2 I talked about the problems inherent in the software development, release and support cycle and how GitFlow was designed as a workflow to try and solve or at the […]


In Part 1 – I covered off a brief overview of the branching model differences between TFS and Git. One of the most interesting developments to happen in the Git ecosystem (apart from its growing adoption rate) is the creation of the Git Flow branching model and its embodiment as an plugin extension to the core Git client libraries. […]


When we setup endjin in 2010, there were five activities we did on day one: set up a business bank account, set up a FreeAgent account, for all our accounting needs signed up for Office 365 (or BPOS as it was then), registered the endjin GitHub account built a virtualised Continuous Integration Environment using TeamCity. […]


Day 1: PowerShell, BDD and Git

by Mike Larah

  So the first real work started yesterday afternoon with an introduction to PowerShell. Since all new employees are required to sign up to variety of web services (Office 365, YouTrack, GitHub, WordPress, TeamCity, IPCop), it would save time to write a script to automate this on-boarding process. Starting with YouTrack, by using the web […]


TeamCity PowerShell

by Howard van Rooijen

Last week I was formally invited to become a member of the JetBrains Development Academy Board – to celebrate, I decided to give something back to the community that has a JetBrains flavour. As I mentioned in my last post – we’ve been doing a lot of ALM / DevOps work in the last year […]


An Omega Geek’s Guide to Learning PowerShell

by Howard van Rooijen

In the last 12 months we’ve been doing quite a lot of Application Lifecycle Management (ALM) projects helping teams setup Continuous Delivery processes. One of the tenets of Continuous Delivery is “Automate Everything” – which has been a core part of my “work smarter, not harder” ethic for a number of years. The technology that […]