Octopus 0.9, with automatic updates

This is an old post and doesn't necessarily reflect my current thinking on a topic, and some links or images may not work. The text is preserved here for posterity.

The Octopus beta continues, and this weekend I released version 0.9, which is now available for download.

The big new feature in this release is automatic updates for the Tentacles. I wrote about the design for this feature previously, but in a nutshell, the goal is to make it easy to install new versions of Octopus without having to remote desktop onto dozens of servers to run the Tentacle installer. In a nice example of bootstrapping, Tentacles are upgraded using the same NuGet conventions that applications deployed using Octopus use.

Let's go through how this works.

First, you download the Octopus MSI, and install it manually on the main Octopus server.

Second, Octopus will periodically (every 5 minutes) check the health of each of the Tentacles you have configured. You can also trigger these health checks by manually clicking the Check Health button. If the Tentacles are running older versions than Octopus, you'll see something like this:

Some servers that are out of date

A button will also appear to upgrade them:

Perform an upgrade

Clicking that schedules a task that deploys the latest version to all machines. Here's an example of the output:

Output of upgrading the Tentacles

Once upgraded, you'll see the health and version numbers on the Environments page:

Upgraded

This feature should make it much easier to manage many machines while keeping up to date with new Octopus features.