In the software release process, the goal is to establish a consistent deployment process that can be reliably executed throughout the release lifecycle. The aim is that deployments across environments should yield predictable results.
Snapshots can help ensure deployment consistency. Snapshots capture both the component versions and the process used for deployments and make deployments repeatable with predictable results.
Supported snapshots
CloudBees CD/RO supports these types of snapshots:
-
Environment snapshot: An environment snapshot is created from the environment where the application is tested and deployed. Environment snapshots capture the exact artifact versions, process versions, configuration parameters, and so on used for the deployment. This is considered the most reliable version of a snapshot for consistency and repeatability.
-
Application snapshot: The main purpose of an application-based snapshot is to create user-defined versions of application models. Snapshots are created directly from the application model and do not depend on any environment deployment. When a snapshot is created, it captures the architecture, components, and process versions.
Application snapshot names can also be used to indicate a specific user-defined version. If you specify the “Latest” artifact version as part of the component definition in the snapshot, the latest artifact versions will be used every time it is referenced in deployments.
For example, in a software delivery process, a developer checks in code, components are then built automatically by a continuous integration system, and resulting build objects are published to a binary artifact management system. When the full complement of component artifacts are available, a release candidate pipeline is initiated. The first stage is to deploy to a development environment. From this deployment, a snapshot is created and used as the model for later deployments to other environments.
There will be some differences between the development, QA and production environments, such as database connection strings, credentials, and debug-vs-production artifacts. CloudBees CD/RO can manage these differences in the application using parameters and properties in templates, only modifying the deployment process flow in a controlled manner.
The process described in the example avoids some pitfalls encountered in traditional release scenarios. For example, configuration teams often perform their own builds. This means that the binaries supplied by a configuration team may be different from what has already been tested. Release teams may also manually edit configuration files to adjust for differences in the deployment environments. Both of these practices are prone to error and can negatively impact the quality of the final software release.
Snapshot use cases
In CloudBees CD/RO, you can deploy snapshots for more reliable and repeatable software releases. Here are some of the use cases snapshots can serve:
-
Model and save a version of your software release with specific artifact versions and rerun it later, even if the latest release version of it has changed.
-
Save snapshots during development and test phases, you can ensure that the components that were deployed and tested are the same as those in the release candidate. You can redeploy the snapshot any time.
-
Create and save more than one snapshot for different deployment scenarios.
-
Use an application snapshot to capture a version of the model. This can be used to define a future or desired state of the application model as well.
-
View the snapshots in the Snapshot List. From this list, you can manage all your snapshots, compare two snapshots, or get more information about them.
-
Comparing snapshots;
-
Helps you to deploy releases with reliable and repeatable results during ongoing software release cycles. You can build and test releases using snapshots and do not have to design new applications for each release.
-
Allows you to compare a future or desired state of the application model to any saved version of the model.
Refer to Comparing Snapshots for more information.
-
-
Use snapshots to refine and optimize applications that fit your deployment scenario and ensure that this version is properly developed, tested, and released.
Creating snapshots
Application or environment snapshots are used for various purposes, such as creating a baseline version of the model or to model a future or desired state of the model. Users can perform new runs or add an environment to an application. Then create and deploy snapshots before comparing them.
Your organization may have the Snapshot naming policy enabled. Verify that you are following the organization’s policy for custom snapshot naming when creating snapshots. For more information, refer to | on CloudBees CD/RO.
Creating application snapshots
-
Navigate to
. -
On the Applications page, select an application from the list, and then select Snapshots. The Snapshots page appears.
-
To create a new snapshot, do one of the following:
-
Select There are no Snapshots. Add one +.
-
Select Add snapshot. The New Snapshot dialog box displays.
-
-
Enter a snapshot name and an optional description.
The snapshot name must be unique within the application. -
Select Next. The New/Preview dialog box opens.
Figure 1. New snapshot -
Toggle between the Component and Application Process views to view the components and application processes for the selected application.
-
In the Component view, select the arrow in the version column to change the Version of the component to Latest.
-
Select OK. A confirmation message displays that the snapshot was created, and the snapshot list is updated.
Creating environment snapshots
-
Navigate to
. -
On the Environments page, select an environment from the list to open the environment inventory.
-
Choose an application and select Add snapshot. The New Snapshot dialog box opens.
-
Enter a snapshot name and an optional description.
The snapshot name must be unique within the application. -
Select Next. The New/Preview dialog box opens.
You can view the snapshot settings in the Component and App Process tabs, but cannot make changes because the application has been deployed. -
Select OK.
Deploying application snapshots
Deploying a snapshot allows you to test various application runs.
-
In the Applications List, choose an application, and then select the run icon.
-
Select New Run from the options. The application run dialog box opens.
-
Configure the following settings for the application run:
-
Select process.
-
Select environment.
-
Select Snapshot.
-
Selecting the arrow next to Compare displays a comparison of the selected snapshot to the last deployment of the Run process in the selected environment.
-
-
-
Select OK to deploy the snapshot.

Comparing snapshots
The Snapshot Compare page, displays a side-by-side view to help identify the differences between deployments for both components and application processes. To compare snapshots:
-
In the Snapshot list, select two snapshots to compare.
-
Verify the Compare snapshots option is selected, and then select Go. The Snapshot Compare page opens.
Figure 3. Snapshot options -
Toggle between the Component and Application Process to compare views of the selected application.
The Component view displays the following;
-
Component
-
Artifact
-
Version
The Application process view displays the following;
-
App process
-
Revision

Selecting the drop-down arrow next to the snapshot name allows you to select a different snapshot. |
Deleting snapshots
You can delete one or more snapshots at a time. To delete snapshots:
-
In the Snapshot list, select the desired snapshot to delete.
-
Select the arrow next to Compare snapshots to change the option to Delete snapshots.
-
Select Go. A confirmation message Delete snapshot? displays.
-
Select Delete. The Snapshots page updates with the deleted snapshot removed from the list.
Figure 5. Delete a snapshot