Using Octopus Server 2020.5.6, I am trying to figure out how to control when the acquire package step is scheduled.
The project will attempt live updates using a blue/green pattern. Two tentacles one with Blue machine role the other Green. A project variable prompted at deployment time indicates which tentacle to install from and the other will be removed, assuming the install works. Therefore each step has variable run conditions to control which tentacle the install or remove is done on.
Given the following step Structure when executed, the condition correctly skips steps, however the Acquire Packages is sequenced between 4.1 and 5 and downloads to both Blue and Green tentacles. Ideally, if blue is used then Acquired step packages should only go to the Blue node. Acquire Packages does not honor the variable conditions set on parent or child nodes.
- InspectBlue
1.1 ChildStep… - InspectGreen
2.1 ChildStep… - RepairBlue
3.1 ChildStep… - RepairGreen
4.1 ChildStep… - InstallBlue
5.1 Script…
5.2 Package…
5.3 Docker Run… - InstallGreen
6.1 Script…
6.2 Package…
6.3 Docker Run… - RemoveBlue
- RemoveGreen
The Conditional Documentation describes a Package Required option to control Acquire step. But this condition is missing on parent step. Or at least that is where I expected to find it.
My ideal solution would be to use an Assert template step which I can sequence into the project selected which packages to acquire now