Over the last few weeks we've spent a lot of time improving the Octopus/TeamCity integration story. To do this, we created a TeamCity plugin, which you can install on your TeamCity server.
The plugin can be downloaded from the usual Octopus download page. The source code for the plugin is open source and hosted on GitHub.
The plugin provides two major features. First, it extends the inbuilt MSBuild/VisualStudio run types to add better OctoPack support:
Secondly, it adds a pair of custom build runners for creating and promoting releases.
We made a few changes to Octo.exe in the process too, to make it easier to ensure that a release is using the right package versions. For example, if you have a folder containing the NuGet packages you want to include in the release, you can do:
octo.exe create-release <....> --packagesFolder=somepath
When determining the version numbers to use for each package in the release, Octo will check the version numbers of packages in that folder. You can use this in combination with TeamCity artifact dependencies to have the packages built in one build configuration flow into the release created by another build configuration.
These features were demonstrated in our recent TeamCity/Octopus webinar, the recording of which is available below:
Many thanks to the team at JetBrains (especially Eugene) for helping to create and polish this plugin.