Database DevOps – UrbanCode Deploy & DBmaestro Integration

In this post I’m going to talk about one of the trending topic of DevOps journey: Database DevOps.

DevOps has transformed the software release cycle, but is not easily applied to databases.

A database crash can be exponentially more expensive than a buggy application because database errors take longer to identify and fix.

Anyway, configuration drift, team conflict, and manual coding errors, can be drastically minimized simply by applying DevOps principles and tools to the database.

During last months I had the opportunity to work with DBmaestro DevOps Platform.

Continue reading “Database DevOps – UrbanCode Deploy & DBmaestro Integration”

UrbanCode Deploy & ServiceNow integration Part 1

In this post I’m going to show you how to integrate UrbanCode Deploy and the cloud-based IT Service Management (ITSM) platform ServiceNow.

We can orchestrate deployments from ServiceNow by invoking outbound UCD REST services, as well as configure UCD to call ServiceNow to create, update changes, incidents, tasks, or other ServiceNow table records.

For my purpose, I’ve used the ServiceNow Developer Program who provides developers with resources to learn, build and deploy applications on the ServiceNow platform.

I’ve used “New York” ServiceNow version. Things can change if you use a different version.

Additionally, I’ve installed the ServiceNow plugin on UCD which allows to easily perform CRUD (create, read, update and delete) operations on records with convenient steps such as check and query records.

Continue readingUrbanCode Deploy & ServiceNow integration Part 1

UrbanCode Deploy & JIRA Integration Part Two

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:

Continue readingUrbanCode Deploy & JIRA Integration Part Two

UrbanCode Deploy & JIRA Integration Part One

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.

Continue readingUrbanCode Deploy & JIRA Integration Part One

Export and Import uDeploy Component or Application

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 

Continue reading “Export and Import uDeploy Component or Application”

Handle multiple Websphere Application Server profiles with uDeploy

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.

Eg. /usr/IBM/WebSphere/AppServer/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.

Stop WebSphere Application Server with uDeploy

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!

Add Target to Module with uDeploy aka Map Module to Server

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

Continue readingAdd Target to Module with uDeploy aka Map Module to Server