General
-
Composite Step Templates
There are sets of common steps that we very often want to "bookend" all of our deployments with. One concrete example would be: sending out a Manual Intervention to confirm when all servers are confirmed live before stamping a new deployment in NewRelic.
Right now, everyone has to bake these steps into their own projects by adding the Manual Intervention step followed by the NewRelic Deployment Stamp step. If it were possible to create what I would call "Composite Step Templates" then I could define a reusable step template that was made up of other step templates. That way, instead…
889 votes -
'Dry Run' Deployment
Sometimes deployments are bad due to bad configuration variables that are un-testable before releasing to production.
Having the ability to 'dry run' a deployment and see all the task outputs with specific highlighting for variables and evaluated variables would allow the identification of changes that need to be made before actually deploying to an environment.639 votesWork has begin on providing a tool to evaluate variables before deployment
https://github.com/OctopusDeploy/Issues/issues/4221At the moment we don’t have further plans to apply config transforms before a release but this should help solve the bigger question of “what will my all my variable values actually be at run time”
-
Version control configuration
This was originally raised at https://octopusdeploy.uservoice.com/forums/170787-general/suggestions/6186352-version-control-of-deployment-scripts and closed as completed with a solution of scripting the import/export tool.
Raising as a new suggestion as this has come up as few times in support calls and some people have suggested on the original thread that the import/export tool doesn't meet their needs. (Didn't want to reopen the original thread as some people are happy with the provided solution in that thread.)
"In the Continuous Delivery book, Jez wrote that your deployment scripts should be in source control. After creating some pretty elaborate powershell scripts for Octopus, I have to agree. Losing…
574 votesThanks everyone who voted on this. We’ve spent a lot of time thinking about how best to version control Octopus configuration, and came to an approach that is a little different to what was imagined in this blog post. I just published an RFC post with our plans – I’d really appreciate if you could take a look and leave a comment!
-
Permission attributes for variable sets, library variable sets, or even variable
Add RO attribute/flag to variable set to prevent accidentally changes of it. Or even develop extended permissions linked to username, groups etc. For example in our Octopus environment we have default variable set in library for special package and I'm afraid if somebody will change it accidentally and it will affect to whole related projects where it will be used
452 votes -
Environment groups
Make it possible to put environments into groups (or rather, to put Tentacles within an environment into groups)
436 votes -
Automatically retry steps if they are failed
Now when a step failed you have to set guided failure on in order to retry the step, it would be handy to have a setting where you say always retry failed steps.
For example if you are doing continues deployment where a build server triggers a deployment from a build, you have to:
- login into octopus
- select the correct project
- manually intervene and assign it to you
- retry itIt would be much better if the retry can be done automatically
420 votes -
Allow approval step for scheduled deployment happen before actual deployment
It would be great to have the ability to be able to add an approval step for a scheduled deployment, but be able to approve it before the deployment starts.
So for example, if I wanted to schedule a deployment to run at 2am, I have the ability to schedule the deployment, but the approval can happen between now and then, but the rest of the steps only run at 2am.
Source: http://help.octopusdeploy.com/discussions/questions/3081
397 votes -
Renaming roles
I think it would be a nice feature to be able to rename roles, there are situation where you might choose the wrong name and at that point if you have many project connected to it it will be annoying to have to update all the projects.
371 votes -
Upgrade of OctopusServer through Octopus
It would be really nice if Octopus Server (and portal) had the ability to be updated the same way as a release can be pushed meaning through and Octopus nuget package. this would make the maintenance easy instead of having to download and rerun installer each time a new Octopus release is created
300 votes -
Run steps as a different user
Some of our projects live on shared servers, and run under different users for isolation. It would be good to be able to choose which user a nuget deployment/powershell script runs under so we can protect against mistakes/malicious code in our powershell deployment scripts.
289 votes -
Automatic release creation to multiple channels
It would be helpful to be able to specify multiple channels for automatic release creation. The way we are using channels, no package is eligible for more than 1 channel. Without this, the development team now needs to remember that for some channels they don't need to go to octopus to create the release and for others they do.
259 votes -
Allow new IIS step to just create IIS resources without necessarily deploying a package
Currently the new IIS step (introduced in 3.4.7) allows you to create Sites, Apps and Virtual directories, but you always have to deploy a package.
It might be useful for some users to be able to take advantage of the IIS functionalities, without having a deploy a package.
Source: http://help.octopusdeploy.com/discussions/questions/9702
258 votes -
PowerShell desired state configuration
Octopus is a deployment orchestration/application release automation tool. Many companies can benefit from configuration management tools like Puppet/Chef, but for various reasons are unable to use them. On the Windows platform, PowerShell's Desired State Configuration support is designed as an alternative to Puppet/Chef, and makes it easy to automate tasks like configuring Windows features and checking for drift.
However there are limits to using PowerShell DSC for our customers - they may not always be on the same AD domain, there may be security issues, there's no auditing, and no nice central way to manage scripts for the team.
Octopus…
251 votesThanks everyone who provided feedback on this ticket. We published a blog post yesterday showing how to do PowerShell DSC with Octopus – everything from deploying DSC scripts, detecting drift, getting email notifications when drift occurs, and automatically fixing the drift:
https://octopus.com/blog/octopus-and-powershell-dsc
With that in mind, I think many of the comments on this suggestion are “done”. But there might be some areas of DSC support that we still don’t do. I’d really appreciate if you could read the post, and let us know of any scenarios we’ve missed. If it looks like we’ve done nearly everything, I might close this UserVoice suggestion and we can open new, more targeted suggestions for any gaps.
-
Default release notes for release created from package push
When a release is automatically created from a package push to the private NuGet feed, it would be handy if the release notes from the release was generated from the combination of release notes in each of the packages in the release.
240 votes -
Integrate smoke tests for post deployment
While we can run smoke tests by using the PostDeploy.ps1, such as running nunit.exe or something similar (frisby.js, etc), it would be great to have a way to integrate back into the dashboard (through the rest api?).
Related links:
http://help.octopusdeploy.com/discussions/questions/214-running-smoke-tests-after-deploy
http://help.octopusdeploy.com/discussions/problems/53646http://jimblogdog.blogspot.co.uk/2012/08/walk-thru-using-wolfpack-to.html
231 votesThanks for the suggestion and for voting everyone. I’d like to get feedback on where we should go with this.
There are a few things in Octopus that already help with this – first, it’s possible to package your NUnit tests and run them as part of a package test (we do this ourselves), or to write a PowerShell step that pings your website to see if it is online. So the actual process of performing the tests is pretty easy. Do we need to write more blog posts/documentation to show how it can be done?
The next part is viewing the test results – in Octopus 2.0 you can “attach” files to a deployment via PowerShell which are then uploaded and available on the deployment page.
Viewing NUnit results XML isn’t that nice though, so I guess it would be nice to be able to render those NUnit test…
-
Integration with Microsoft Teams
Microsoft Teams already has a pretty great list of connectors, but one big one is missing... Octopus Deploy!
I would like to be able to receive messages in a channel when a deployment is complete, or certain events happen.
227 votesActively working on a Microsoft Teams tab.
-
Add email attachment support
An easy way to attach deployment artifacts would complement this feature very well.
225 votes -
Add support for setting Windows Service Recovery options
Add the ability to set the actions to be taken on service failure. This is accomplished via sc as follows:
http://technet.microsoft.com/en-us/library/cc742019.aspx or using Powershell set-service.At present, we are managing with a custom PowerShell script.
223 votes -
Inheritable Templates
There should be the possibility to create project templates which can be chossen when creating a new project. This should then not only copy everything, but keep the reference to the template. So when something is changed in the template, all projects based on this template should be updated as well.
Steps coming from a template should not be editable in a subproject, but there should be the possibility to disable a specific step in a specific project.
Also there should be the possibility to add other steps between "template steps" to customize the process.Teamcity has a simillar model.
221 votesthe feature Composite Step Templates has started which should meet most of these requirements. The underlying templates will still be linked so that they can be updated as per normal step templates.
-
Make the Blue/Green Model the Gold Standard of Deployment with Zero Downtime
In my mind zero-downtime deployment is the gold standard of deployment. Octopus should support this model to the fullest. Given proper tooling (in Octopus) this is very easy to accomplish for customers.
I think most ASP.NET apps should be deployed in the following way:
- Put the app behind a load balancer such as ARR (built-in and free)
- For each new deployment create a fresh IIS site
- Configure the site
- Request a configurable set of important URLs to start the site and warmup caches
- Validate, that those URLs return 200 and contain a given check string (a smoke test)
- If all…
209 votes
- Don't see your idea?