As announced at Microsoft’s Connect(); event a couple of weeks ago, the company is working on several enhancements to their ALM stack. One of the changes announced is a major overhaul to their build system, currently referred to as Build v.Next. Although pieces of the new build functionality has been demoed on stage, we do not yet have access to the bits to try things out for ourselves.
With that said, what do we know today about Build v.Next?
DISCLAIMER: The details below have been gleaned from various Connect(); sessions and blog posts. The bits demoed are in an early, pre-release stage, and are subject to change before being released to the public. The screenshots shown below are sourced from Connect(); sessions.
One of the first things you’ll notice with Build v.Next is that you can create your build definitions completely within Visual Studio Online (VSO). In the image below, you can see there are currently five build templates available.
Much like TeamCity (a competing build product from JetBrains), in Build v.Next, you assemble a build definition by adding a sequence of tasks to be executed in sequence. You can see a subset of some of the build tasks that are currently available in the screenshot below.
The build tasks provided out of the box by Microsoft will be open sourced with plans to accept tasks from the community as well. There have been multiple attempts over the past several years, with varying success, to create a community around XAML/Workflow-build activities. However, these attempts have never seen the same type of success as seen by other communities, such as the one built up around Jenkins – which currently sports over 1,000 plugins!
Also new, will be the ability to view differences between versions of your build definitions:
Although you can currently view differences between versions of the underlying XAML that comprises a build definition in Team Foundation Server today (assuming you track your XAML in version control), it is not a good experience. The XML that makes up the XAML is constantly changing (e.g. as you move things around on the XAML design surface) which makes it very difficult to “diff” only what’s important between versions. Having the ability to view changes built directly into the build system will be a huge time saver.
In case I haven’t made it obvious to this point – Build v.Next DOES NOT UTILIZE XAML in your build definitions! However, all your existing XAML/Workflow-based builds will continue to run just as they do today. The two build systems can exist in harmony, side-by-side.
Once you start a build, you will now be able to view the build log in real-time directly from within VSO:
With Build v.Next, you will also be able to share all your build agents across team projects and team project collections (TPC). No longer will you need a dedicated controller for each TPC.
Adding to that, the new Build v.Next agents are cross platform compatible so you can run your builds on Windows-, Mac- or Linux-based machines (or a combination of all three). The cross-platform build agent is based on Node.js and, therefore, will run anywhere Node.js runs. This means that you will now be able to build your Java/Android, Mac or iOS apps using VSO.
One last bit of information that is known at this point… Build v.Next can also be used to build source code that lives outside of VSO. For example, in the Connect(); demos, GitHub is shown as being an available repository type. Currently, GitHub is the only non-VSO repository type shown but I can only assume there will be others.
Finally, Brian Harry stated, in his Connect(); keynote, that he hopes to have a public preview available early next year. I, for one, am definitely looking forward to these new features within VSO and TFS. How about you?
You can watch and read more here:
- Connect(); – Day 1 – Evolving software engineering practices (Build v.Next demo starts at ~37:00)
- Brian Harry – News from Connect(); – Toward the end of the post under “Sneak peek – Updated build service”
I found the entire Software Tailor team to very helpful and knowledgeable.
You help me understand the differences between the other systems on the market
and the software development HK