July 16, 2012

Automated deployment with TFS Team Build and Octopus Deploy

Article date 2012-07-16 Octopus Version 1.X supported for this article

Damian Karzon has a nice walkthrough that shows how to use Octopus Deploy from TFS Team Build:

I have been playing around with Octopus Deploy lately and I have setup our TFS build server to automatically create releases and deploy to a Dev environment. Here is how you can setup a TFS build server to create NuGet packages ready for deployment through Octopus.

Dave Welling also has a couple of posts that extend the TFS workflow to publish a package and deploy it to Octopus:

In the interest of saving others a bit of that heartache, I'll post some helpful tidbits of my own in the next blog post. I've created a Team Build code activity to initiate an Octopus release creation and deployment. I've created another which will monitor the deployment and incorporate the results in your build.

Finally, Racingcow has a post that shares his experiences of getting OctoPack and TFS to play together:

Overall, Octopus looks really promising for what I do. While integrating with TFS could have been easier, I am not sure that is any fault of Octopus itself. Perhaps a bit of extra documentation (for NuGet dummies) on how to integrate with TFS would have sped me through a couple of issues that I had. Aside from that, however, Octopus is definitely something that I'd recommend for shops primarily using Microsoft tech. In my opinion, it is much more manageable than using TFS Build and PowerShell scripts, and it definitely beats the heck out of deploying things manually.

What I like about these posts is that each shows a different way of integrating; Damian uses a custom MSBuild targets file, Dave uses a modified workflow (sounds scary!) and Racingcow relies on a slight modification to OctoPack (one that I'll merge into the source). These posts are definitely worth a read if you are considering Octopus with TFS!

Team Foundation Server Integration

Welcome! We use cookies and data about how you use our website allow us to improve the website and your experience, and resolve technical errors. Our website uses cookies and shares some of your data with third party analytics companies for these purposes. We do not use these cookies for advertising.

If you decline, we will respect your privacy. A single cookie will be used in your browser to remember your preference.