Releases are how you update your application components in your customer’s installs. This doc covers how releases work, how to create them, and how to monitor them.
In order to run an app component in an install, you must create a deploy. A deploy does two things:
Sync a component build artifact to an install’s local registry.
Provision that component in the install’s sandbox.
Creating a single deploy is pretty straightforward. But, when you have a lot of installs, managing deploys for all of them can quickly become a challenge. This is where releases come in.
A release will create and monitor multiple deploys for you. You can configure what installs to deploy to, how many deploys to create at a time, and how long to wait before creating them. Once created, a release will also monitor the deploys, so you can see if any of them fail.
By default, a release will immediately deploy to all installs simultaneously. You can optionally configure a delay, as well as limit the number of deploys created at a time.For example: if you wanted to deploy to one install at a time, and wait an hour between each deploy, you would execute the following.
Deploy log retention is 24 hours, but you can still see metadata about the logs by passing in the --json flag.
If the issue is not apparent from the logs, or there are no logs, look at the deploy plan for more information. A plan is created for each deploy, and it contains all the information used to execute the deploy job.
The deploy plan is a JSON object, so we recommend using JQ to format it for readability.
Deploy plans can be quite large and complex, so the CLI has some options you can use to focus on the specific parts of the plan you should check first.The job config will show you how the deploy job was configured.
The intermediate data contains all the data used to render the variables from the component config. You can use this to verify that all the data you need for your components is available.
The rendered variables contain the values of the variables after they were rendered using the intermediate data. You can use this to verify that variables in the component config are being interpolated with the correct values.