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.
A RFC has been proposed for this request. Have a read and see what you think about the direction. Give us your thoughts! https://octopus.com/blog/rfc-composite-step-templates
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.
Chris Camburn commented
+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.
Kenneth Truyers commented
This is a duplicate from:
FYI: These three items together would be the top-most requested feature (just saying :-) )
Kalvin Krueger commented
Any updates on potentially including this feature. It has a lot of votes and would be really helpful in creating a deploy step, where I could also run powershell server setup afterwards, but when pulling it in I can package it in 1 step template instead of 3
Michael Freidgeim commented
See also similar (or duplicate?) suggestion https://octopusdeploy.uservoice.com/forums/170787-general/suggestions/5923829-add-the-ability-to-add-child-steps-an-or-multiple
I'm also missing something what would make easier to share common deployment processes across multiple projects.
I really like idea mentioned in this other suggestion, that it could be process template functionality similar to what TeamCity has:
We often configures a website in a specific way, such as what should be logged and where, adding some writable folders etc.
This is done on all our sites and is, at the moment, done with one powershell script in one step template. Since this step i basically three steps it would be much nicer if I was able to have three childsteps. Easy to configure in the projects and easy to se whats done.
Kenneth Truyers commented
I agree, a system like teamcity where you have build templates (that'd be deploy templates) and metarunners (step templates) would be great. Step templates is a very nice feature, but one more level would be really handy
We currently have 10+ different but standardized projects that share the exact same steps, so every time our process changes we have to make the change on all projects. When we add a new project we have to add them manually (or clone an existing projecr).
Tjeerd-menno Douma commented
The new step templates are a very big step in the right direction. But since it's limited to only 1 step per template it's usefulness is also limited.
I believe it would be very useful to be able to compose templates from multiple steps or add multiple child steps.
This would help template out common flow mechanisms and it helps making thing more DRY.