Create a deployment checklist
To ensure the quality of a deployment pipeline, you can optionally associate environments in the pipeline with a checklist that each deployment package must satisfy before being deployed to the environment. This topic describes how to create a deployment checklist for an environment.
Note: For an application to appear on the release dashboard, it must be associated with a deployment pipeline. For more information, see Create a development pipeline
Define all of the items that you want to add to a deployment checklist as type modifications on configuration item (CI) types in the
Add each checklist item as a property on the
udm.Environment CI. The property
name must start with
kind must be
category can be used to group items.
<type-modification type="udm.Environment"> <property name="requiresReleaseNotes" description="Release notes are required" kind="boolean" required="false" category="Deployment Checklist" /> <property name="requiresPerformanceTested" description="Performance testing is required" kind="boolean" required="false" category="Deployment Checklist" /> <property name="requiresChangeTicketNumber" description="Change ticket number authorizing deployment is required" kind="boolean" required="false" category="Deployment Checklist" /> </type-modification>
Add a corresponding property to the
udm.Version CI type. This means that all deployment packages will have a property that satisfy the checklist item you created. Property
name must start with
kind can be
string. In the case of an integer or string, the check will fail if the field in the checklist is not empty.
<type-modification type="udm.Version"> <property name="satisfiesReleaseNotes" description="Indicates the package contains release notes" kind="boolean" required="false" category="Deployment Checklist"/> <property name="rolesReleaseNotes" kind="set_of_string" hidden="true" default="senior-deployer" /> <property name="satisfiesPerformanceTested" description="Indicates the package has been performance tested" kind="boolean" required="false" category="Deployment Checklist"/> <property name="satisfiesChangeTicketNumber" description="Indicates the change ticket number authorizing deployment to production" kind="string" required="false" category="Deployment Checklist"> <rule type="regex" pattern="^[a-zA-Z]+-[0-9]+$" message="Ticket number should be of the form JIRA-[number]" /> </property> </type-modification>
Repeat this process for each checklist item that you want available for deployment checklists. Save the
synthetic.xml file and restart the Deploy server.
Optionally, you assign security roles to checks. Only users with the specified role can satisfy the checklist item. You can specify multiple roles in a comma-separated list.
Roles are defined as extensions of the
udm.Version CI type. The property name must start with
roles, and the
kind must be
set_of_string. Also, the
hidden property must be set to
admin user is can satisfy checks in a checklist.
To build a checklist a checklist for a specific environment:
- Log in to Deploy.
- In the top navigation bar, click Explorer.
- Expand Environments and double-click an environment.
Go to the Deployment Checklist section and select the items you want to include in the environment checklist.
- Click Save.
Expand an application with a deployment pipeline, and include the environment edited, and click one of the application versions. Note: For more information on pipelines, see create a development pipeline. On the environment tile, you can see the Deployment checklist option.
Click Deployment checklist to see the items.
Deployment checklists are verified at two points during a deployment:
- When a deployment is configured.
- When a deployment is executed.
When configuring a deployment, Deploy validates that all checks for the environment have been met for the deployment package you selected. This validation happens when Deploy calculates the steps required for the deployment.
Any deployment of a package to an environment with a checklist contains an additional step at the start of the deployment. This step validates that the necessary checklist items are satisfied and writes confirmation of this to the deployment log. An administrator can verify these later if necessary.
The checks in deployment checklists are stored in the
udm.Version CI. When you import a deployment package (DAR file), checklist properties can be initially set to
true, depending on their values in the package manifest file.
Deploy can verify checklist properties on imported and apply the these validations upon deployment.
In the hidden property
<type-modification type="udm.Application"> <property name="verifyChecklistPermissionsOnCreate" kind="boolean" hidden="false" required="false" description="If true, permissions for changing checklist requirements will be checked on import"/> </type-modification>
You can control the behavior by setting the value to
false on the application in the repository.
false is the default behavior, and
true means that the validation checks are done during import. Every
udm.Application CI can have a different value.
Note: If you want to configure this behavior but you have not imported any applications, create a placeholder application under which deployment packages will be imported, and set the value there.