Who works everyday with IBM WebSphere Application Server Network Deployment knows a state of facts: Different users cannot make changes on a WAS DM Cell at the same time.
Let’s look at how it can be possible acquire an exclusive lock on a WAS DM Cell with IBM UrbanCode Deploy.
We have two different applications on the same WAS DM Cell and we want to deploy both without worrying about which deploy start first.
Create everything you need on uDeploy: Applications, Components, Component Process, Application Process, Resources and Environments as in the figures below:
Pay Attention: The environment name is: WAS85 STAGING. I’ll put this name for every application is running into my WAS DM Cell of Staging.
In the first part of “UrbanCode Deploy & JIRA Integration” post we left us with an unsolved question.
How to pass a Jira issue nr. (issue_id) to the application process flow?
Application Process Properties is the solution.
Go to Applications -> “Your Application” -> Processes -> “Your Application Process” -> Configuration -> Application Process Properties
Create the property: issue_id
Now run the process:
Today I’m going to show you how to integrate UrbanCode Deploy with the well-known Atlassian Issue Tracking System Jira.
First of all we need the UrbanCode Deploy JIRA plugin .
Once downloaded and installed we will find a new menu item: Issue tracking ->Jira Plugin into our step palette:
We will use, in particular, the Transition Issue step to put “IN PROGRESS” an open task and then, at the end of our Application Process flow, put the task in “DONE” status.
Sometimes it might be useful to export resources like Components or Applications from a uDeploy installation and import to another one.
Let’s see how to do it and what problem we could deal with:
First of all let’s export our Component.
Click “Actions” beside the Component, then click “Export“.
Save your .json file
In the other uDeploy installation, go to Components, click the “Import Components” button and upload the .json file exported before.
At this point you could receive an import error.
Watch the uDeploy Server log. Can you see something like this?
2018-02-22 15:52:43,956 CET ERROR https-jsse-nio-0.0.0.0-8444-exec-9 com.urbancode.commons.util.crypto.algs.Crypt1Alg - Did not find any decoding key for name abc123keyxxx 2018-02-22 15:52:43,956 CET ERROR https-jsse-nio-0.0.0.0-8444-exec-9 com.urbancode.ds.web.util.UCDExceptionMapper - The import data contains encrypted values which could not be decrypted. Please ensure that the encryption key from the server which created this file has been added to this server. com.urbancode.air.i18n.TranslatableException: The import data contains encrypted values which could not be decrypted. Please ensure that the encryption key from the server which created this file has been added to this server
Do you have multiple WAS profile on the same host? Let’s see how to handle this configuration with uDeploy.
Go to Resources -> Agents -> [Click your WAS multi profiles host agent] -> Configuration -> Agent Properties.
Add the Property Name: websphere.profilePath and fill the value with the path of WebSphere Application Server profiles.
Go to Resources -> Resource Tree and create a Top-Level Group.
Click beside the Top-Level Group: Actions -> Add Agent
Click Refresh link below.
Your Deployment Manager Profiles will appear.
For each WebSphereCell Dmgr click Configuration -> Basic Settings. Add missing values like, Cell Name, WebSphere User and Password, SOAP Port.
Go back to Resource Tree, click Actions beside each Dmgr profiles and click: Configure Using WebSphere Topology Discovery.
Your Cell topology will appear in a few seconds.
When you want to stop a Cluster or a Server you need a component process well designed or your application process can fail.
Start with a Check Status step. It checks the status of the Server/Cluster and fails if the Server/Cluster is already stopped.
The second step, Stop Server, it doesn’t need explanations.
Then Wait for server or cluster to stop.
Here you can set the:
– Timeout (seconds) to wait for the server or cluster to stop before the step fails.
– Interval (seconds): The time to wait between status checks.
Finally, in case of Wait for Server/cluster to stop timeout we add a Terminate Server/Cluster step.
Have a nice day!
There is an excellent article written by Lara Ziosi (you can find it here) which inspired me to write this post and showing you how to add Target to Module with uDeploy.
In our scenario we have a WebSphere Application Server cell and we are going to install an ear and map a Web Module to a Web Server target.
Usually during ear installation the target is an Application Server or Cluster but sometimes we need to map our application also to a Web Server like IHS, Apache or something else.
First of all create a component of type “WebSphere Enterprise Application”, then create two component processes. The first is a classic deploy process ( see Install Enterprise Application on WebSphere Application Server with uDeploy) while the second : “Add target To Module” has just one step: “Add Target to Module” from the “Application Deployment for WebSphere plug-in“.
Simply fill the Module URI property with the Uri of the module. For example: ALPHA_WAR.war,WEB-INF/web.xml
Most steps in a process can have a precondition. The precondition determines whether the step runs.
Preconditions return Boolean values. If the precondition returns True, the step runs as usual. If the precondition returns anything other than True, the process skips that step.
Suppose we need to create a symlink but only under certain conditions. We create a Shell step:
I’m going to show you how to install/update an Enterprise Application in WebSphere Application Server Environment.
Let’s start with a WebSphere Enterprise Application component :
then create a Component Process: