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 of everyone having to repeat all of the possible steps in their own projects, they would simply include this one composite step and they'd be done.
Now, my composite example was only two steps to keep it simple, but you can imagine maybe a composite is made up of more than that. Or even imagine a change in policy where the Manual Intervention email has to include more information. Everyone has to repeat this stuff in all their projects and having the ability to put it into a composite step would alleviate all of that.
We have begun implementation of this feature.
Thank-you for all the comments on the RFC: https://octopus.com/blog/rfc-composite-step-templates
You can see the rough spec here: https://github.com/OctopusDeploy/Specs/blob/master/CompositeStepTemplates/index.md
Daniel Wernle commented
We are evaluating Octopus and this feature is top on our wishlist
Bryan Roth commented
Any progress yet? This feature would make our world a lot easier...
We are also waiting for this feature. Same question as everyone else, when is the release?
We are also waiting for this feature. Managing 200+ projects is very hard without this. Most tools we use, have something like this (for example Teamcity). Any ETA?
Tom Foster commented
Any updates on when this feature is slated to be released? I really like this feature in TeamCity and can be very useful in Octopus.
Really looking forward to this feature. It is a pretty big deal for us as we have a fair amount of projects.
Mark Derman commented
Any word on when this feature is slated to be released please?
All our database automation follows a different multi-step review and approval process for PreProduction and Production and I am hesitant to roll this out across > 50 systems without encapsulating it in a multi-step template...
Thanks for a great platform.
I hope development starts up again. We have templates in our current solution and are reluctant to give it up to enter deployment configuration maintenance nightmare.
Naime Islam commented
I sorry that you have paused the most voted feature. It seems a feature so important in order to promote reusability of composite steps between projects, that when without it, it becomes very hard to manage when we need to introduce a change in the composition. Today we are using VSTS Release Mgmt and this feature is the only one missing from Octopus that is preventing is to start a real migration to Octopus. (VSTS provides the Task Group feature).
We have had to pause development of this feature while we focus on finishing work on spaces. We expect to get back to complete this work sometime in the next quarter.
Any chance of an update? We have a few hundred projects, with only a few project types, and it's becoming cumbersome to manage even trying to script out the API changes to projects.
What is the ETA of this feature?
I am planning to do a big migration from VSTS Release Mgmt to Octopus Deploy because VSTS doesn't allow to reuse a "lifecycle" between different definitions. However VSTS supports to reuse a composite step template (Task Group), which is also important for us.
@ChrisCamburn we are looking at adding support to expose package selection on step templates out to the consuming project so that users no longer need to rely on variables to get different package values into a step template.
Would this solve your problem?
One additional request: We use a number of standard settings for IIS, and the current built-in IIS deployment step is perfect, so that we don't have to script everything ourselves. We'd like to use that as a step template, so that any changes to how we deploy IIS sites can apply to all projects at once. Unfortunately, to do that we have to use a variable for the package name, which breaks the retention policy. Unlike most steps where we can reference a previous package step name, the IIS step requires the package be in the step.
Is it possible to have a new template parameter type for a Package Name, that still uses the autocomplete that most package deployment steps have? Or possibly a way to pass in the package name to a template while having Octopus retention policies run correctly?
Any updates on this? While the new 4.X UI is nice, this RFC is 6 months old and would be incredibly useful.
I agree, project templates are very important when working on a bunch of micro-services.
Darren Aitcheson commented
+1 from me also.
What would also be useful here is to have the concept of non-skippable step (apart from the manual intervention steps of course).
Our scenario - we currently have steps that have to go at the beginning and end of all of our deployments for SOX compliance reasons. We want to give the devs access to modify their own processes, but these particular steps must always be there and mustn't be allowed to be skipped by the users.
Some way of making that happen would be great.
+1 to the ability to have this function like TeamCity. It would be nice when you have multiple projects all based on a template to update in one place and have that change propagate.