Visual Studio Online recently announced a new build system that offers a heterogonous capable platform that can easily build or integrate almost any existing asset and be extended to add new ones.
(For more information about this announcement please see Chris Build session: http://channel9.msdn.com/Events/Ignite/2015/BRK3726 )
One of the Architects at Octopus (and “fellow” Queenslander) , Damian Brady decided to take advantage of this opportunity to create an Octopus Integration offering for Visual Studio Online.
Using his own words:
“The idea was to be able to create a new Octopus Deploy Release as a separate step in your build definition. I'm pretty excited by how powerful it was. After spending some time with it, I want to say how awesome the new Build system is! It's so much easier and so much more powerful that the legacy stuff. I'm really, really impressed.”
I have included much of Damian’s blog post below on this exciting new offering below but highly recommend you check out his blog for the whole story:
http://octopusdeploy.com/blog/octopus-integration-with-tfs-build-vnext
Octopus integration with TFS Build vNext
The new structure of Team Build gives us a great opportunity to integrate better with your build process. To that end, we've created a new, public OctoTFS repository in GitHub.
It currently contains two options for creating a Release in Octopus as an independent step in your build definition. Both of them let you separate the build and deploy phases really nicely. Note that you'll still have to package and push your Nuget package to the Octopus Server (or another Nuget repo) - these steps just create releases. You can still use OctoPack for packaging and pushing.
The integration I'm most excited about is the custom Build Step. It gives you a really nice UI and even includes release notes pulled from changesets and work items - something we get asked for a lot.
Unfortunately, because you need to upload the package to TFS/VSO, it won't be available to use until the new build system hits RTM. That shouldn't be too far away. At least this way you'll be able to use it from day one of RTM instead of having to wait!
The other option is a PowerShell script you can include in your project. This one you can use right now, and it works nearly as well (no release notes yet). It's not quite as nice to work with, but it does the job for now.
Support
We will continue to work on these integrations so they're useful and easy to use for as many people as possible. Our priority is always going to be on the core product though, so we'll improve and add when we can.
Of course the OctoTFS repository is open source, and we will be accepting pull requests, so if you see a bug, a potential improvement, or even a completely new integration option, we'd love your contribution!
About Damian Brady
Who am I?
I’m a Brisbane-based developer, trainer, and author specialising in Agile process management, software craftsmanship and software development. I have a love of Octopus Deploy, Team Foundation Server, Scrum, C#, Nancy FX, ASP.NET MVC, HTML5, JavaScript, and web development in general.
What do I do?
I’m a Microsoft MVP in Application Lifecycle Management and I work as a Solution Architect forOctopus Deploy. I’m also a co-author of Professional Team Foundation Server 2013 from Wiley. I run the Brisbane .Net User Group, and the annual DeveloperDeveloperDeveloper Brisbaneconference. I spend a lot of time training teams on how to improve their software, be it through improving their agile process, devops, or code quality. I regularly speak at conferences, User Groups, and other events, but most of the time you’ll find me working on Octopus Deploy, or helping teams get the most out of their devops strategies. I write software mainly for the web using Nancy or ASP.NET MVC combined with healthy amounts of JavaScript and Angular, and I usually cut code in Visual Studio 2013 and manage my work with Visual Studio Online orGitHub. However, I’ve gained experience in many other languages and environments.
Contact Me
You’re welcome to contact me:
- by email on info@damianbrady.com.au.