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.
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.
Step 1 - Define checklist items on udm.Environment
Define all of the items that you want to add to a deployment checklist as type modifications on configuration item (CI) types in the synthetic.xml
file.
Add each checklist item as a property on the udm.Environment
CI. The property name
must start with requires
, and kind
must be boolean
. The category
can be used to group items.
For example:
<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>
Step 2 - Define corresponding properties on udm.Version
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 satisfies
. kind
can be boolean
, integer
, or string
. In the case of an integer or string, the check will fail if the field in the checklist is not empty.
For example:
<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.
Assign security roles to checks
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 true
.
The admin
user is can satisfy checks in a checklist.
Step 3 - Create a deployment checklist for an environment
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.
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 checklist verification
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.
Verification on package import
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 verifyChecklistPermissionsOnCreate
on udm.Application
, set hidden
to false
:
<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 true
or 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.
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.