Managing hybrid Continuous Integration (CI) and Continuous Deployment (CD) pipeline

You can create a hybrid CI and CD pipeline, add or modify the different applications and jobs to the pipeline.

About this task

Hybrid CI and CD pipeline enables you to integrate a combination of CI and CD applications to the associated deployment plan in the pipeline. Each application that you add to a pipeline is inserted onto a separate row below the last application. As you add apps and jobs to environments, tasks are added to the associated deployment plan in the order that they appear in the pipeline.

After you create the value stream, a pipeline is associated with your value stream by default. Each CI and CD application combination that you add to a pipeline is inserted onto a separate row below the last application. As you add apps and jobs to environments, tasks are added to the associated deployment plan in the order that they appear in the pipeline.

  • The advanced features of hybrid CI and CD pipeline will work efficiently in HCL DevOps Velocity (Velocity) only when the hybrid CI/CD pipeline are not integrated with other applications.
  • Whenever a user is migrating from a hybrid type environment to non-hybrid environment, ensure that all the CD physical environments that are deployed in the hybrid environment are removed. Otherwise, pipeline will not operate in the non-hybrid environment.
Limitations of hybrid CI and CD pipeline:
  • The advanced features of the hybrid CI/CD pipeline will work efficiently in Velocity only when the CD applications in the hybrid CI/CD pipeline are not part of any other pipeline.
  • Migrating a CD application from the hybrid pipeline to the non-hybrid pipeline will not work without removing the CD application from all the logical environments in the hybrid CI/CD pipeline.
The following table provides the list of hybrid CI and CD applications currently supported in Velocity:
CI application CD application
  • GitHub
  • HCL DevOps Deploy
  • IBM DevOps Deploy
Note: The Full Resync is not recommended for the applications which are part of hybrid CI and CD pipeline. You can remove the applications from the hybrid CI and CD pipeline to perform Full Resync.

Procedure

  1. Optional: On the Pipeline page, click Add Environment to create an environment.
    1. In the Add environment window, and in the Environment name field, enter the environment name.
    2. In the Action field, select the check boxes for the required deployment mode from the list of Deploy, Join release, and Schedule deployment.
      If more than one deployment mode is selected, both the default deployment mode play control and drop-down Drop-down will be visible on the environment.

      The deployment mode play controls are as follows:

      • Deploy Deploy
      • Join releaseJoin release
      • Schedule deploymentSchedule deployment
    3. Based on the selected mode, in the SET AS DEFAULT field, select the default deployment mode.
      The deployment mode play control that is visible on the environment is the default.
    4. Click Save.
    5. Move the environment to the required location in the pipeline by hovering the mouse over the right-side of the environment, move cursor and then click and drag it to the required location in the pipeline.
      You can re-order the environments except for the Input.
    6. Click stage context menu and select Edit environment to update the deployment mode.
      In the Edit environment window, select the groups or users who have permission to deploy in the selected environment.
    7. Click stage context menu and select Override inventory to override the application in the deployment environment of pipeline.
      In the Override inventory screen, select the version for the application to override deployment in the selected environment. You can use Override inventory in all environments except Input.
  2. To add a CI application to the pipeline, perform the following steps:
    1. To add the CI application, click Add button Add application
    2. On the Add apps - Choose the apps window, in the Managed by list, select a CI application.
    3. In the Application name field, enter a name for the application.
    4. Click Save.
    5. Under the Input environment, click Add button to open the Create version window.
    6. In the Create version window, select the required job from the list.
    7. Click Save.
      You have successfully added a CI application to the pipeline.
    8. In the CI application, run the build job selected in step 2.f.
      You can see the build number under INPUT, after the build is successful in the CI application.
  3. To add a CD application to the pipeline, perform the following steps:
    1. Under the Dev environment associated with the application, click Add button.
      Note: The default environments are DEV, QA, and PROD environments. You can customize and create your own environments.
    2. On the Map a job to a logical environment (DEV) window, in the Managed by list, select required CD application.
    3. On the Map app environments to logical environment (DEV) window, click Choose a different application... > Select your application, choose the required application from the list, and then click Continue.
    4. Select the process from the list, and then click Continue.
    5. On the Map app environments to logical environment (DEV) window, select dev from the list, and then click Save.
      Similarly, you can map the app environments to any logical environment in the pipeline.
    You have successfully added a CD application to the pipeline.
  4. You have successfully created the hybrid CI and CD pipeline.
  5. You can perform the CI and CD application versions matching by using any of the following methods:
    • Strict matching: To perform the strict matching of CI and CD application versions, ensure that the snapshot name in the CD application is same as the build name of the job in the CI application. Strict matching method is a default method for matching the CI and CD application versions.
    • Regular expression matching: To perform the regular expression matching of CI and CD application versions, perform the following steps:
      1. On the Hybrid CI and CD pipeline, click , and then select Edit version pattern.
      2. On the hybridApplication window, perform any of the following actions to match the application versions in the CI application with the CD application.
        • Component version pattern matching: Add component version name for the CD application in the Regular expression for versions pattern matching field. Ensure that component version name of the CD application is same as the component version name of the job in the CI application.
        • Snapshot versions pattern matching: Add snapshot version name for the CD application in the Regular expression for versions pattern matching field. Ensure that snapshot version name of the CD application is same as the snapshot version name of the job in the CI application.
      3. Click Save.

  6. To view the deployment template associated with the environment, click stage context menu and select View deployment template.
    The deployment plan detail page is displayed. As you add apps and jobs to the pipeline, associated tasks are inserted into the plan. You can also add tasks directly to the plan.
  7. To modify the mapped environment, click stage context menu, and select Edit application environments.
  8. To delete the environment, click stage context menu and select Delete.
  9. Optional: To edit the hybrid CI and CD application components already created on the pipeline, click stage context menu on the right side of the application and select Manage components to add and remove components of the application, Edit description to modify the description of the application in the selected pipeline, or Delete application to delete the application in the selected pipeline.
  10. Optional: To add a gate, click Add gate and then define the gate rule.
    Note: For Automated gates in the hybrid CI and CD pipeline, application name in metric input data should be logical application name which is defined in the hybrid CI and CD pipeline.
  11. The following image is an example of the hybrid CI and CD pipeline with DEV, QA, and PROD environments.

What to do next

Run a deployment for a pipeline.