arrow-left arrow-right brightness-2 chevron-left chevron-right circle-half-full dots-horizontal facebook-box facebook loader magnify menu-down RSS star Twitter twitter GitHub white-balance-sunny window-close
Octopus: V1 backlog
2 min read

Octopus: V1 backlog

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.

When I started building Octopus and released a first beta, I had a pretty rough idea of what Octopus would be about. The beta experience has definitely shaped the product, and I'm much happier with the result that has been created by so much good feedback from the Octopus beta testers. Last week I had a couple of really useful phone calls with Octopus users, and I used some of that feedback to come up with a list of features that will make the final 'v1' cut of Octopus.

What does v1 actually mean?

Octopus currently has version numbers starting with 0.8, suggesting it's still in beta. Octopus 1.0 will be the version that is ready for production use (though a few companies are already using Octopus in production at the moment). The 1.0 builds will also be the first builds where a license key will be required to unlock multiple projects. But in truth, there will still be new builds every few days after 1.0, and the product will continue to evolve incrementally.

V1 features

Before 1.0 is stamped, I'll add the following 'big' features:

  • Auto upgrade Tentacle
    Tentacles will be automatically kept up to date with the Octopus (as per this blog post).
  • Ad-hoc PowerShell execution on Octopus
    As a user, I can define a deployment step that involves executing arbitrary PowerShell scripts on the Octopus, so I can perform tasks like configuring load balancers.
  • Role based security
    Create application-managed groups of Windows groups/users, and give them project/environment permissions - e.g., only 'Release Managers' can deploy Project A to Production (suggestion)
  • Pre-defined variable substitutions
    For example, you can define VarA = Hello${VarB}, and a number of useful pre-defined variables will be available (current path, date, etc.) (suggestion)

Those features will be built first, so they have the most time to be tested and to get feedback on.

The following small features/bug fixes are also going to be added:

  • Download log files
    When viewing the results of a deployment, instead of trying to read the results in my browser, I'd like a link to download the output as a .txt file that I can open in my preferred text editor (suggestion)
  • Show NuGet descriptions
    When viewing a release, I want to see the the NuGet package description and release notes in the 'Packages' tab (suggestion).
  • Proxy server support
    Ensure Octopus can contact Tentacles and NuGet repositories via the default proxy server (suggestion)
  • Command line
    A command line Tentacle.exe, and a command line Octopus.exe, for programmatically executing a deployment (either locally or remotely) (suggestion)
  • Project clone
    Create a copy of an existing project to reduce effort required. Useful for example when setting up deployment of a branch of the same code (suggestion).

There are also some small usability features, like better rendering of times, making it obvious deployment steps can be sorted using drag and drop, better naming of some buttons, and adding a favicon.

There's also a nice long backlog of post-v1 features, such as automatic deployments, pull-based deployments,

I estimate that this will take 6 to 8 weeks. Tomorrow I'll announce a special discount that will apply until v1 is released.

Paul Stovell's Blog

Hello, I'm Paul Stovell

I'm a Brisbane-based software developer, and founder of Octopus Deploy, a DevOps automation software company. This is my personal blog where I write about my journey with Octopus and software development.

I write new blog posts about once a month. Subscribe and I'll send you an email when I publish something new.