I was recently working with a client whose deployment process consisted of having developers email their team guru with a list of files to grab, the version of the files, the location of the files and what machine to deploy said files onto. Can you say bottleneck? Can you say lost in the (e)mail?
Now in all fairness to the client, these weren’t your typical files. They consisted of Informatica files, Oracle files, and shell scripts that needed to be deployed together in some cases and separately in others. In other words, not your typical deployments.
Luckily the client was looking for a solution to manage their parallel development as well as with automating their deployments. Dimensions CM and Deployment Automation to the rescue. With these two products, we could also help the team guru get more control on the incoming tsunami of requests. Ironically we did it with a request. Dimensions CM Request that is.
Below I will show you how to use Requests to create a Baseline to contain only the files that need to be deployed and then how to map Dimensions CM with Deployment Automation to perform the actual deployments.
Please note, that I don’t have an Informatica system to show you but I think you’ll get the gist.
Create Baseline Template
First thing to do is create a Baseline Template where the Scope is Requests. This will allow you to specify the criteria for inclusion of file revisions based on a list of requests. Later when we make modifications to a file and deliver into a stream, we will relate it to a request. This will automatically create an In Response To relationship in which the baseline will use to include the files.
From the Admin Console create your baseline template like the one below.
Next add the Requests that should be included in the template along with the criterion like below.
- Request Type: The request type for which this criterion applies.
- Request Status: The lifecycle state of requests to be used in the selection criteria.
- Baseline status code:
- Choose SUP to include requests at the specified state and upward.
- Choose EQS to include requests only at the specified state.
Note, that once you use the template to create a baseline you cannot modify the template. It’s best to just add all your request types that could be used for creating baselines.
Map Dimensions CM Product with Deployment Automation Application
Beginning with Dimensions CM 14.2 you could optionally install Deployment Automation (DA) with Dimensions CM. But starting with v14.3, you could use DA instead of Dimensions Deployment areas when deploying baselines.
If you have not already configured Dimensions to use DA, modify your Product in the Admin Console like below mapping the CM Products to the DA Application. For complete details see the Dimensions CM Deployment Guide. You will need to make modifications to the dm.cfg file, setup authentication between the two products, and map the GSL to DA environments. Note, during a fresh installation this will be automatically configured for you.
At this point you may be asking yourself what mappings are allowed. You can map one CM Product to one DA Application or many CM Products to one DA Application. See below for what is okay and what is not okay.
But that’s okay! This is not a limitation.
We can use many Component Processes within the same DA Application to deploy Informatica, Oracle, and shell scripts together or separately. Look for blog later on about the pros and cons on whether to use one component with many processes or many components with their own processes.
Now back to solving our team guru’s workload.
First, we need to make a file modification and relate it to a Request upon delivery (or check out if using Projects). When you do this, CM will automatically create an In Response To relationships between the file and the request.
Second. Action your request to the correct lifecycle state to fit the criterion you specified above when you create your template.
Now you can create your baseline.
When you do remember to select your Request and Baseline Template as shown below.
Now you have a baseline that only contains the files related to the Request (DEMO_TASK_1).
If you have Dimensions CM setup with the Deployment Automation tool, you can now deploy your baseline that will only deploy your specific file(s) base on a Request.
Dimensions CM is a powerful tool in that it allows the developers to relate their source code directly to their Tasks. The In Response To relationship between source code and requests is invaluable.
That’s great Rose but what about the poor guy that is overwhelmed by all the emails?
When the developers actions their Tasks to the next state in the lifecycle, Dimensions CM can email the person with all the information that is needed for him/her to deploy the files.
Dimensions knows which files to grab, the version of the files, the location of the files and DA knows what machine to deploy said files onto. Can you say no more bottleneck?
Okay, so the team guru is still getting emails, but with the time saved from not having to deploy manually allows the guy to keep up with all the requests coming in. Not to mention providing nice reports and metrics for his management. “Look at all this work I’m getting done boss, I think I need a raise” said the team guru.