Does octopus deploy a release step pass the environment to the child

First foray into creating a deployment that will call other deployments in a group.

Let’s say we have 3 prod silos… and I want to deploy to silo2 for all of the deployments under the umbrella of my main deployment (deploy release), does the main project pass that environment to the child automatically, or do I need to somehow communicate that to the child?

Hi @donald.long!

Welcome to the community!

The short answer to your question is yes, the child projects use the same environment as the parent or main project. The parent project does not attempt to validate if all the lifecycle conditions have been met by the child project.

For example, the child project’s lifecycle is Dev → Test → Staging → Prod, while the parent project is Staging → Prod. If you attempt to deploy a release to Staging, it assumes the release for the child project’s lifecycle has been met and will attempt to deploy to staging.

As this is your first foray into the whole parent->child project concept there are a few items to consider.

  • When you create a release in the parent project, that snapshots the exact version of the child project it will use in all subsequent deployments.
  • The child release chosen is the the most recent release created. It is the most recent release deployed to Dev or Test.
  • You can control the release being chosen by leveraging channel version rules in the parent and child projects.
  • You can overwrite variables in the child project using the deploy a release step, this includes both prompted and unprompted variables.
  • The default behavior of the step is to always deploy the release chosen, it doesn’t matter if the release number being deployed is less than the current release number in the target environment. For example, you want to deploy 1.0.11 but the most recent release on test is 1.1.0.
  • There is currently a bug that if there are multiple manual intervention steps in the child project it will fail the parent deployment.

If you are good with those rules, then awesome, leverage that step. However, if you want a bit more control, I wrote up a step template (and lengthy blog post series). Better release management with Octopus Deploy - Octopus Deploy

Perfect Bob. Thank you for the prompt reply.

I will take a look at your template. Right now, this is a simple parent deployment

fire deployment
email if failed
fire deployment
email if failed

etc…

Great. If you have any further questions, please let me know!

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.