Variable management and release cleanup

Am nearly at the end of my testing with Octopus, and am pleased to say it looks like it’s going to do the job for us really well, especially when some of the features discussed recently make it into the build.

Will be getting my boss to stump up for a licence pretty soon I hope!

However, in the process I’ve found a few minor things that would help with the usability of the product, and I thought I’d list them here. None of these actually stop me getting the work done, but would be great to have smoothed out and would help with that ‘polished’ feel.

(of course this is all just my opinion so feel free to disregard as required!)

  1. Variable management is getting messy, and I currently only have a few machines/environments. There are a few things that would help here:

a) Ability to filter the variable list by environment, or by machine, or by both. A couple of dropdowns and some show/hide in jquery would be sufficient. Or maybe a jquery carousel so I can scroll between all the environments for this project, seeing what variables are set for each?

b) I have a bunch of variables that need setting for each environment/machine combination. It’d be really useful to be able to set these up as a group that each environment/machine requires for this project, and be able to duplicate the whole set when I add a new environment/machine.

Ideally with a nifty interface that I could tab between just setting the new values for each variable. Currently the workflow for this requires a lot of duplicate, click, wait, type, click, repeat.

This would be a per-project group. For bonus points, make it so that project CAN’T be deployed to an environment unless all of these variables have been set, as that would send my scripts haywire and who knows what might happen!

c) Put ‘delete’ next to Edit/Duplicate, as I’ve often had to remove variables that turned out to be unnecessary while writing my scripts. Now they’re written that is less important, but having to click, wait, click to delete was a little frustrating.

  1. As I’ve been testing I’ve accumulated a backlog of test releases that are now all nonsense and clutter. It’d be nice to be able to clear the history of a project, deleting all the releases and deployment history, so I can start afresh now I’ve got it all working.

  2. Really trivial one this, but I’ve often found myself on the deployment screen pressing F5 to watch the output happening in realtime. Could there perhaps be a checkbox set to allow this page to auto-update - just pulling down the latest output and appending it would be excellent? This would be a great help to my sense of laziness.

  3. On the Project page some of my environments have quite long names, and overlap one another. I’ve found lowering the font-size on #middle #body table.release-matrix thead td {} makes it much more readable.

You’re doing a great job, and even with these little kinks (and the slightly bigger ones discussed elsewhere) this is a fab product - looking forward to v1!

Hi Neil,

Thanks very much for the kind feedback, I’m glad Octopus is proving useful to you :slight_smile:

Re 1) I have a couple of features related to variables that I will be tackling before v1, so when I do I’ll revisit this thread and try to work a few of these in too.

Re 2) Great suggestion and easy to do - I’ll include it

Re 3) I do the same thing :slight_smile: It’s on my list of v1 features to tackle (not just for that page but some of the other pages that show progress)

Re 4) I’ll make that change and include it in the next release

Paul

Hi Neil,

I know it has been a while since you originally posted this, but I’m doing some work on the variable editing page and wanted to get your feedback. How does this look?

https://plus.google.com/photos/101699405198322574920/albums/5734009668580418353/5734009670284426610

The entire page is editable, and you can sort by name, environment, step and machine. Everything is batched and saved in one go. Duplicating is currently disabled but I’ll be adding that back soon. Do you think this will make life easier for variable editing?

Paul

Looks brilliant, more or less exactly what I’ve envisaged!

Duplication isn’t quite so important in that interface, as it’ll much easier to just copy/paste between the various boxes.

The only other thing I’d like to see (though I can appreciate it’d be extra functionality rather than a pure UI change) is the ability to highlight that a certain variable isn’t defined for an environment… so when I add a new environment for my project it will flag up somehow “XYZ isn’t defined for NEWENVIRONMENT!”. Could be as simple as a list of required variables per-project that it checks for you when you hit deploy.

Totally appreciate that probably isn’t a priority for you, but would love it if it came along eventually. Meantime, that screenshot looks great, looking forward to the release :slight_smile:

Actually, having spent some time this morning configuring some variables in Octopus one other thought struck me… would it be possible to filter that list by environment, by machine, or by both, so it isn’t just a huge table of all the variables for the entire project?

Could be a drop-down in the header for both those columns, or even a list of environments side-by-side (carousel-like?) that I can scroll through?

The need I’m trying to address is to see all the settings for one environment/machine without all the clutter of all the other settings in and around it - basically anything that achieves that would be welcomed!

I recognise there are some complications around this, as I’d also like to see global settings that are inherited down. So if I click XYZ Environment, I’d like to see everything that environment will see, ie also including all the settings that don’t differ by environment. Hope that makes sense.

Hi Neil,

Would you mind taking a look at this suggestion for Octopus Tools (octo.exe) to see if it would work?

I’m in two minds as to whether it should be in tools or just in the Octopus UI, but either way using Excel or a text editor might be a much better way to deal with variables than using the web UI.

Paul

Interesting. I think it could work, as long as the flow is pretty simple. I’m thinking for our purposes, if you did move this to Excel, then we would have a single file on a network share or similar that we can edit remotely, and then click a ‘refresh variables’ button or similar in Octopus, and it’s configured with where to look.

My concern is having lots of spreadsheets floating around, and having to search around to load them into Octopus - it would somewhat interrupt the flow of a deployment. But I can understand why you’d go down this excel route.

Then again, I guess it’s not mutually exclusive to have a means of importing variables alongside improving the variable management UI, you could definitely still do both. If I get a moment I might try and sketch out an idea of how I’d see an improved UI looking - I have toyed at various points with just writing my own little website that would let me manage the Octopus variables in a way I’d like, so maybe I could send those ideas over to you.