At the Connect() developer event in November 2014 we showed a sneak peek at the investments we are making for our build automation features in TFS and Visual Studio Online. These new capabilities will be available in TFS 2015 and in Visual Studio Online starting in Q2 of 2015.
TFS had build automation starting with its first release in 2006 and gained CI features in 2008. In 2010 we released a significant overhaul of these capabilities base on the Windows Workflow Foundation and a Visual Studio editing experience. In many ways this was a huge advancement in capability from what had been offered previously. With windows workflow we gave our customers a very powerful programming system that they could use to accomplish almost anything, and some did. In addition we had a number of innovative features such as gated check-in. However, in order to harness the power of workflow there was a steep learning curve into a very specific DSL that most developers didn’t have much general need for. The workflow also had the unintended consequence of creating confusion for our customers on how to define their builds. The more you invested in defining your build with workflow the more difficult it became to produce your software outside of the TFS Build Controller if you needed to. And finally Windows Workflow is limited to running on Windows and of course our customers build software that runs on many different platforms and they need the ability to have automated builds for those platforms.
With that in mind we set out to revise our build automation system for TFS and Visual Studio Online. As we did our planning we kept a few clear principles in mind:
- Do not create a new build/automation DSL. There are many great ones out there like MSBuild, Gradle, Ant, Maven, Shell Script, PowerShell, etc. Just make sure we can effectively run all of those and more.
- We must have a cross-platform solution that lets me automate builds and the ability to define my build outside of Visual Studio.
- Create an intentional extensibility mechanism and open source our inbox extensions so we can foster a community.
- Don’t hide my build log from me.
So far I think we are doing a good job of sticking to those principles. At the same time we are addressing many of the long standing feature requests from our customers on http://visualstudio.uservoice.com.
Before we go through some of the highlights I want to make sure you have a clear picture on what this means for your existing investments. From now forward we will refer to the build automation features that shipped in TFS 2010, 2012, 2013 and Visual Studio Online based on the Windows Workflow engine as XAML Builds. TFS 2015 and Visual Studio Online will continue to support the XAML Build templates and controllers. This means that when you upgrade your on-premises servers everything will continue to work just as it does today, the systems run SxS and do not interfere with each other.
From the Visual Studio Online perspective, when we enable the new build features for your accounts the first significant change you will see is the ability to create build definitions in the web. You will also have access to the Hosted Build Pool in addition to the Hosted Build Controller.
Now let’s take a quick look at some of the highlights of the new system:
There is no need to ramp up on a platform specific build DSL. You can simply pick from a selection of build steps and set a few properties. You will have the ability to create your own tasks or import tasks from the community and they will be instantly available for your users.
Real-time Visibility of Builds
See the status of your build in real time in the web. The console view gives you a very similar experience to what you would see if you were watching your build in your command shell.
Cross Platform Build
Build native iOS, Android, Java and Linux out of the box
Build Definition Diffing and Auditing
Quickly see who last changed the build definition and get a sense of what they changed.
These are just a few of the feature highlights and there are many more to come. We expect to enable the new build features for your Visual Studio Online accounts in Q2 of 2015 and you will see them in the on-premises TFS 2015 starting with the first CTP.