Release management is a fundamental aspect of making changes to enterprise software environments, whether those changes are toward applications or infrastructure.  It’s important to secure a repeatable process for doing so, especially when releases become more complex across various teams and business units.

HCL Accelerate offers an easy-to-use, templatized release management solution, with a native ServiceNow integration to keep your change and release management processes in tight sync with one another. In this blog post, we will walk through how to set up an enterprise release plan in HCL Accelerate, tied to ServiceNow, and deliver software to a production environment.

Create an Enterprise Release Template in HCL Accelerate

The first step is to create an enterprise release template in HCL Accelerate. This template represents the process that will be executed every time we want to release new software as part of a major release event. Think of this as the ‘parent’ plan for orchestrating releases across teams, business lines, or any group that wants to go to production as part of this event.

accelerate service now

Notice the option ‘AutoStart plans created from this template when a release is created’. When the ‘Yes’ box is checked, every time a Release is created in HCL Accelerate, a linked ServiceNow change ticket will also be created.  In this case, we’re going to set it to ‘No’, so the change ticket will be created after we start the release execution in section 3.

Once we’ve created our template, we define the tasks for the release to follow each time a release is created from the template. Here is where we set up our integration with ServiceNow, establish governance through approvals and notification tasks, as well as set other automated or manual tasks.

For integrating with ServiceNow, we define a series of ServiceNow type tasks that create and update change tickets as a release plan is executed. The first task will be to create the change. The following screenshots show an example configuration showing the Create Change Ticket task that connects to ServiceNow. There is a lot of flexibility in how this can be configured, depending on how and when you would like your changes to be updated in ServiceNow throughout the release process in HCL Accelerate.

accelerate service now

Notice the ‘ticketId’ field we are setting. This creates a property that we will reference in later steps to make sure we are updating the newly created ticket as the release progresses.

Another type of ServiceNow task that we can create is to wait for change ticket approvals. To do this, the action ‘Wait for change request’ must be selected, with the relevant field and value that we are waiting on to be set.  When the release plan reaches this step, HCL Accelerate will poll ServiceNow based on the set interval, until those field and values match what is set. In this case, the task will be ‘In Progress’ until the ticket is approved.

accelerate service now

Notice that the System ID field is referring to the ‘ticketId’ property that we set in the ticket creation step. This property can have any name, as long as it is consistent across tasks for HCL Accelerate to use. Also note that this property is not inherited by child plans, so other templates can use the same property name without conflict.

The last type of ServiceNow task we will use is the ‘Update change request’ action. Similar to the ‘wait’ task, this will use the System ID to reference the ticket created in the beginning. This time, instead of waiting for changes to occur in ServiceNow, we can use HCL Accelerate to make changes to the ticket in ServiceNow. The ‘Additional properties’ field lets you update a field with a new value, using the ‘field=value’ syntax. In most cases, we will be updating the ticket to a new ‘state’, such as ‘Implement’, or ‘Scheduled’. It’s important that the updated value is allowed in ServiceNow based on the current state of the ticket, or the task will fail.

accelerate service now

The default ‘state’ values in ServiceNow are shown here. The ServiceNow API uses these numbers to assign the value.

After we have configured our ServiceNow tasks, as well as other enterprise release administrative tasks, we can add the plans of other templates as deployment tasks to configure governance over the larger release. As mentioned, this ‘enterprise’ plan is the parent to the plans which will deploy the software. For every pipeline stage created in HCL Accelerate, there will be a corresponding template. To add these templates to the Enterprise plan, we use the task ‘Run another plan’.

accelerate service now

For this use case, I am assuming that I have already set up the JKE-Pipeline PROD stage template. This template looks similar to my enterprise plan, however, it contains the tasks for actually deploying the software through either Jenkins, HCL Launch, or Ansible. By referencing this plan in my ‘Run another plan’ task, I am able to orchestrate one or many deployment plans via my enterprise release plan.

Now, I have completed the templatization of my enterprise release plan. All of this work should be a one-time effort, aside from tweaks here and there to change or improve the overall process. Every time my organization wants to run an enterprise wide release, we will start an execution from this template.

accelerate service now

Creating a Release to be Executed

Now that my templates are created and synced up with ServiceNow, I am ready to run my first release. The first step is to create the release. The following screenshot shows an example of an enterprise release being created from a template.

accelerate service now

Notice the use of tags, to make it easier to search and find later.

Once my release is created, my teams and business units will have the ability to join this release with their deployment templates. The example we use here is again for the ‘JKE-Pipeline’. To join an enterprise release, simply click on the arrow next to your PROD stage, and click ‘Join Release’, as shown.

accelerate service now

From here, we will be given the options of what releases we want to join, and with what application versions we want to deploy with the release. By default, the versions in the nearest stage are selected, in this case, these are my versions already delivered to my ‘QA’ stage.

accelerate service now

Once I click ‘Schedule’, my Enterprise Release plan view should now reflect the newly joined JKE-Pipeline team plan.

accelerate service now

Executing an Enterprise Release

In section 1, we showed how to create an enterprise release template. Section 2 showed how to create a scheduled enterprise release and how various teams are able to join. This section will describe an example execution of that release.

To begin a release, simply click the play button on the first task of the Enterprise Release. This will create the ServiceNow ticket and start the release clock. Remember at the beginning of this tutorial when we had the option to ‘Autostart plans created from this template’? If we had selected ‘Yes’ here, the plan would already have started when the release was created, and would be waiting on the next subsequent manual task. In this example, we are starting it ourselves.

accelerate service now

Now that our release has started, we will pause on the Wait for Approval in ServiceNow task. To approve the ticket in ServiceNow, we must log in to the ServiceNow server, request approval of the change, and let the designated approvers approve the change. In a real execution, this process will involve various stakeholders across both the HCL Accelerate tool and ServiceNow tool. Since we have set them up to be in sync, all of the updates will occur automatically once the approval has been given in ServiceNow, and the Release plan will continue on.

accelerate service now

When the enterprise release plan reaches our self-defined ‘deployment’ tasks, we will see that the PROD template that joined our enterprise release will begin execution. The following screenshot shows an example of what this PROD template looks like.

accelerate service now

Notice that this template also contains its own integration with ServiceNow. This is because in this example, we are creating a ticket for the enterprise release itself, and for every team or group of apps we are releasing along with it. That way, we can govern the approvals and changes not just at the enterprise level, but at the more granular team and application level as well.

When the deployments through Jenkins and HCL Launch are complete and the ServiceNow tickets updated, the plan will return a success for the Enterprise plan to move on. If we check the scheduled release page, we can see the change tickets that we created are linked and visible. In this case, we have one for the enterprise plan, and one for the pipeline PROD deployment that joined it. If many teams had joined this enterprise release, we would see many tickets here.

accelerate service now

Likewise, in ServiceNow, we can see these change tickets, which were created and managed by HCL Accelerate.

Now that my Enterprise Release plan has succeeded, I can see this on my release summary page.

accelerate service now

I can also go check the pipeline that joined this enterprise release. In the pipeline view, I can see that the latest versions that I selected from my QA environment are now deployed and running in Production.

accelerate service now

To learn more about HCL Accelerate and get a free trial, head here.

Comment wrap
Further Reading
article-img
Secure DevOps | November 16, 2022
DOES 2022 Recap
The HCLSoftware Team showcases HCL Accelerate, HCL AppScan, and HCL OneTest portfolio during the full three days of DevOps Enterprise Summit.  
article-img
Secure DevOps | October 21, 2022
Webinar Recap: Value Stream Management with HCL Accelerate
In our recent webinar, we went over Value Stream Management and how by integrating HCL Accelerate will give you actionable insights so you can get the most out of your DevOps Investments.
article-img
Secure DevOps | October 21, 2022
HCL Accelerate V4.0.1 and V4.0 Release Updates
HCL Accelerate recently released HCL Accelerate 4.0.1 and 4.0. In this blog, I highlight some of the new releases for Accelerate 4.0.1 and 4.0.
Close
Filters result by
Sort:
|