I have a deployment project that spins up dynamic infrastructure in my CI environment. The targets are created and named with a random suffix that identifies the infrastructure as being for a particular instance of our application within that environment. This allows us to have branch builds that can be approved by our QA/Product Ownership process prior to being merged down to our mainline, and then when approval is granted, the infrastructure for that branch demo can be cleaned up.
The process that spins up the new infrastructure runs on the Octopus Cloud server, deploys the app to those targets and then has a manual step that holds until QA has decided they’ve finished with those assets.
There appears to be a problem that while waiting at this step, no other branches can be deployed as the deployment sits in a queued state until the QA/Product Ownership team has approved or rejected the current deployment, which means we can’t have multiple parallel branches available for testing/demo at the same time.
I found this documentation that suggests it can be done, but only if deploying to multiple environments.
I don’t really want to have a proliferation of dynamic environments spun up and destroyed in Octopus deploy just to make this happen as that causes a whole bunch of other mess - such as adding it to lifecycles and channels, attaching it to tenants etc. It’s messy.
Is it possible to have all of our dynamic infrastructure spun up and destroyed in a single environment and still allow for a manual step to hold that environment until such a time as the QA/Product Owner is ready to approve or reject it?