Inline Destination Definitions
Output destinations normally live in per-user, per-machine deploy preferences, which means a job checked into version control needs every machine seeded with the same destination names. To make jobs self-contained, both job kinds can carry the definition of a named destination inline. Destinations are still referenced by name, so retargeting stays a one-place edit.
In a .waj, add a DeploySettings element as a child of Job; in a .wacj, add it inside Destination:
<Destination name="ProductionSite">
<DeploySettings>
<DeploySetting Name="ProductionSite" Action="s3">
<Configuration Value="s3://docs-bucket/product" Region="us-east-1"
Distribution="E2EXAMPLE" />
</DeploySetting>
</DeploySettings>
</Destination>An inline definition takes precedence over a deploy preference with the same name, the log records which source resolved the name, and a warning is issued when an inline definition shadows a differing preference. When a composition builds its members, it forwards its inline definitions to each member build automatically, so name-only member jobs run on a machine with no seeding at all. The --deploysettings command-line option accepts the same definitions from a file for build servers.
Note: Only Folder and Amazon S3 destinations can be defined inline — neither stores a secret.