Deployment Strategy
A Deployment Strategy defines the conditions by which a Deployment Package should automatically be assembled and delivered to
one or more Deployment Targets. A Deployment Strategy is a recipe that tells a listener within Cloud CMS how to identify
nodes whose content has changed and should be deployed. It then describes what steps to take in terms of deploying
the content.
If you're using Cloud CMS Publishing, you will not need to set up a Deployment Strategy by hand. The Publishing system
will set one up for you when you add a Publication.
Source
Fundamentally, a Deployment Strategy defines the source of its content. Usually, this is a branch where content is
changing and is being marked as DIRTY. Dirty content is far less exciting than it sounds. In this case, it's just
content that is ready to be deployed.
To listen for any changes to content in a branch, you would set:
{
"source": {
"type": "branch",
"config": {
"branchRef": "branch://{platformId}/{repositoryId}/{branchId}"
}
}
}
Trigger
The next thing you need to do is describe how often the listener should trigger. This will either beIMMEDIATE
or SCHEDULED
. The former indicates that changes will deployed as they come in. The latter indicates
that changes will deploy periodically.
Example:
{
"trigger": {
"type": "IMMEDIATE",
"config": {
}
}
}
Deployment Targets
You should then also indicate which Deployment Targets should be the recipients of the Deployment Packages once the
strategy is triggered. These Deployment Targets contain configuration that is passed to their respective
Deployment Handlers to upload content to S3, send it to an FTP server or copy it into a Cloud CMS branch.
{
"targetIds": [
"594d171fb1120a18f1f1",
"a18f194d1715120fb1f2",
"170fba162f18f15194d2"
]
}
Operation
Finally, you should indicate what kind of operation should execute. Either DEPLOY
or UNDEPLOY
.
{
"operation": "{operation}"
}