Lesson 3: Customizing the lifecycle and deployment plan
Quality statuses serve as gates to phases in a release lifecycle. You create the tasks that are associated with a release in deployment plans. Deployment plans can contain both automatic and manual tasks.
A lifecycle defines the phases of a release. Your development pipeline might include a development phase, several test phases, and a production phase. In IBM® UrbanCode™ Release, you specify which quality statuses are the gates that a release must pass before you advance it to another phase of the lifecycle. For example, you might add a quality status to an application version when it passes a set of automated tests or passes a manual inspection. You can assign any quality status as a phase gate. For more information, see Creating lifecycles.
In this lesson, you edit the default lifecycle to contain several gates that a snapshot must pass before you deploy it to the PROD phase.
When you create the deployment plan, you specify the segments and tasks that a release contains. A segment is a group of related tasks. You can create segments to reflect the stages of your release processes. A task represents some deployment activity that has both start and end points and a measurable duration. You can create both manual tasks and automated tasks that are based on IBM™ UrbanCode Deploy application processes. For more information about deployment plans, see Deployment plans.
In this lesson, you add a manual task and an automated task to the deployment plan for the Integration tutorial 1.0 release.
Editing a lifecycle
To add quality statuses as gates to the PROD phase.
- Click the navigation list arrow, and then click .
- From the Lifecycles tab, click Default Lifecycle.
Add gates to the PROD phase of the lifecycle:
- In the Phase: PROD pane, click Add Gate.
- Select Manual QA Pass from the displayed list, and then click Save.
Repeat the process to add the remaining gates to the PROD phase.
The PROD phase contains three gates, as shown in the following figure:
Modifying the deployment plan
Add tasks to segments of the deployment plan.
- Click the navigation list arrow, and then click Releases & Deployments, and then click the Deployment Plans tab.
By Integration tutorial 1.0 release, click Default
The Default Plan page for the release opens.
Add a manual task for the Pre-Deployment segment:
In the Pre-Deployment Tasks pane, click Add Manual
Although you can run any application process that is stored on your IBM UrbanCode Deploy server through IBM UrbanCode Release, your deployment process might still contain manual steps. You can use IBM UrbanCode Release to ensure that you complete these tasks. During a deployment, you must address each task in a segment before you can proceed to the tasks in the next segment.
- Specify the name to be Confirm candidate version with development manager.
- Set the Duration to 10.
- In the Application list, select Integration tutorial.
Under Pattern, clear the check boxes by all items except
By clearing these check boxes, the task is only included in the DEV-1 phase. By specifying the phases that include a task, you control when your release tasks occur.
- Accept the default values for the remaining fields, and click Save.
- In the Pre-Deployment Tasks pane, click Add Manual Task.
Add an automated task to the Deployment segment.
This task deploys the application that is associated with the release.
- In the Deployment Tasks pane, click Add Automated Task.
- In the Add Automated Task window, in the Task list, select Integration tutorial -- Deploy Integration tutorial.
- Click Save.
When you run the deployment according to this plan, you deploy the Integration tutorial application.
In this lesson, you customized the lifecycle and deployment plan that are associated with your release.
By customizing the lifecycle, you reflect your release processes in IBM UrbanCode Release. By adding deployment tasks, you control the steps in your release process. You can modify both the lifecycle and the deployment tasks to accurately reflect the release process for your delivery pipeline.