Promoting releases
Promotion copies a release from one deployment to another, typically Staging to Production, without re-bundling anything:
aether promote MyApp Staging ProductionBy default this takes the latest release in the source deployment. Pick an older one with -l v3.
What the server does
Section titled “What the server does”The destination deployment gets a brand-new release with its own label, releaseMethod: Promote, and two provenance fields: originalLabel (the source release’s label) and originalDeployment (where it came from). The bundle bytes and packageHash stay identical.
Overriding metadata on the way
Section titled “Overriding metadata on the way”Metadata is copied from the source release unless you override it:
aether promote MyApp Staging Production -r 25 -m true --des "Production rollout"--rollout/-rstarts the promoted release as a staged rollout in the destination.--mandatory/-mand--disabled/-xset those flags on the new release.--targetBinaryVersion/-tretargets it; without this flag the promoted release keeps the source’s target range.--noDuplicateReleaseErrordowngrades the identical-package error to a warning, useful when re-promoting.
Guards
Section titled “Guards”When the source release is disabled by the automatic halt, promoting it as an enabled release answers 409 with code set to release_halted. Branch on the code; the wording of error is not part of the contract. The CLI prints the message and not the code, so at a terminal match on what the command printed. See Errors and rate limits for how error responses are shaped.
The usual next step is to promote a healthy source instead, naming its label:
aether promote MyApp Staging Production -l v3aether promote copies the source release’s disabled flag unless you override it, so a halted source promoted without --disabled false lands as a disabled copy and is not refused. You can also promote the halted one disabled on purpose:
aether promote MyApp Staging Production -xThat puts the halted bundle in the destination as a new disabled release. Re-enable it only once you have decided the halt was wrong, and name the copy’s new label:
aether patch MyApp Production -l v12 --disabled falseWithout -l, aether patch targets the deployment’s latest release, which may not be the copy you just promoted. A halt is more than a disable lists the other requests a halt refuses.