I’m new here so my apologies if this answer already exists. I’m having trouble finding the answer, possibly due to my unfamiliarity of the necessary terms.
<shameless pandering>First off, great product. I’ve built managed deployment systems before and so far OD has most of what I’d put into one if I were to build one again. Very impressed by the setup and features. The videos have been quite helpful as well.</shameless pandering>
Now onto the problem…
Short version
Is there a way to support deploying single releases to parallel (but separate or prerequisite) environments?
I’ve investigated Channels, but that’s not quite solving my problem yet since Channels seem to require creation of separate discreet releases.
Long version
Here’s my scenario: we have 3 environments relevant to our OD setup:
- (
STAG
) Staging - Regression test/final UAT - (
CM
) Content management - psuedo-production but not customer facing - (
PROD
) Production
The environments are set up such that the default life cycle was:
STAG => CM => PROD
This doesn’t quite work. I don’t want CM
to be a prerequisite for PROD
release. The CM
environment is not customer facing, and we sometimes need to deploy pre-release builds to the CM
environment, so it can’t be a dependency for Production nor can it have STAG
as its own prerequisite.
The preferred release and promotion workflow in OD is:
STAG => PROD
So I changed the default life cycle to reflect the above desired workflow. So far so good.
In order to support deployment to CM
, I also set up a CM
only life cycle and a corresponding Channel that uses that life cycle. However, this seems clumsy to me. Since it’s a different channel, and a given release specifies a channel, I have to create duplicate releases of the same package version just to release to an “out of band” environment. I treat a “release” as a set of packages regardless of the target environment(s) and deploy them as needed to the appropriate environment(s). Also, since the version attribute of an OD release seems restricted to at most a semantic version, it doesn’t feel right to include a deployment pathway as part of it.
Ideally, I’d like to support this scenario with 2 discreet life cycle/workflows but using single releases:
/ => STAG => PROD
(1 Release) -< (and/or)
\ => CM
Can this be supported and I’m just missing something? Or is this scenario not covered by current functionality?