This is the first of many posts covering a relatively recent acquisition, IBM UrbanCode Deploy (UCD), which is, amongst other things, an automated deployment and delivery solution.
The reason for my interest is that I'm working with a few clients who are considering the use of UCD for automation, in the context of IBM Business Process Manager, IBM Operational Decision Manager, IBM Integration Bus etc.
To start with, I'm going to outline my experiences thus far with the build of a UCD environment, installed on a virtualised Red Hat Enterprise Linux environment, running on my Mac.
Unlike other products, UCD doesn't use IBM Installation Manager or WebSphere Application Server, although it DOES require a relational database. I'm going to use DB2 10.1, which is located on the same VM.
I began by downloading UCD 6.1.1, which is the latest release - as of a few days ago: -
Specifically, I downloaded a 2 GB (!) ISO image: -
IBM UrbanCode Deploy 6.1.1 Multiplatform Multilingual (CN2BAML )
which resulted in this file: -
-rw-r--r--@ 1 hayd staff 2.0G 12 Dec 12:23 IBM_URBANCODE_DEPLOY_6.1.1_MULTIP.iso
Being an ISO file, I was able to mount this in VMware Fusion as /media: -
ls -alh /media/
total 430M
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 .
dr-xr-xr-x. 25 root root 4.0K Dec 12 12:59 ..
-rwxr-xr-x. 1 db2inst1 games 430M Dec 1 22:54 ibm-ucd-6110608828.zip
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 java
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 z-os
dr-xr-xr-x. 25 root root 4.0K Dec 12 12:59 ..
-rwxr-xr-x. 1 db2inst1 games 430M Dec 1 22:54 ibm-ucd-6110608828.zip
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 java
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 z-os
including: -
ls -alh /media/java/
total 16K
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 .
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 ..
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 aix
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 hpux
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 linux
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 solaris
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 windows
dr-xr-xr-x. 1 root root 2.0K Dec 3 15:10 z-os
ls -alh /media/java/linux/
total 12K
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 .
dr-xr-xr-x. 1 root root 2.0K Dec 2 13:28 ..
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 s390
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 s390_64
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 x32
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 x64
ls -alh /media/java/linux/x64/
total 85M
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 .
dr-xr-xr-x. 1 root root 2.0K Aug 21 2013 ..
-rwxr-xr-x. 1 db2inst1 games 85M Aug 21 2013 ibm-java-jre-70-50-linux-x8.gz
I started by extracting the JRE: -
mkdir /opt/IBM/Java
tar xvzf /media/java/linux/x64/ibm-java-jre-70-50-linux-x8.gz -C /tmp/
mv /tmp/ibm-java-x86_64-70/* /opt/IBM/Java/
and testing it: -
tar xvzf /media/java/linux/x64/ibm-java-jre-70-50-linux-x8.gz -C /tmp/
mv /tmp/ibm-java-x86_64-70/* /opt/IBM/Java/
and testing it: -
/opt/IBM/Java/jre/bin/java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr5-20130619_01(SR5))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20130617_152572 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR5_20130617_1436_B152572
JIT - r11.b04_20130528_38954ifx1
GC - R26_Java726_SR5_20130617_1436_B152572_CMPRSS
J9CL - 20130617_152572)
JCL - 20130616_01 based on Oracle 7u25-b12
Before installing UCD, I created the required DB2 database: -
db2 create database UCD61 automatic storage yes using codeset UTF-8 territory GB pagesize 32768
as db2inst1 and granted permission for the db2user1 ID: -
db2 connect to ucd61
db2 grant dbadm on database to user db2user1
db2 grant dbadm on database to user db2user1
I unpacked UCD: -
unzip /media/ibm-ucd-6110608828.zip -d /tmp
copied the required JDBC drivers into the temporary directory: -
cp /opt/ibm/db2/V10.1/java/db2jcc* /tmp/ibm-ucd-install/lib/ext/
and installed it: -
cd /tmp/ibm-ucd-install/
./install-server.sh
...
[echo] Do you accept the license? [y,n] Y
...
...
[echo] Installing IBM UrbanCode Deploy version 6.1.1.0.608828
[echo] Enter the directory where the IBM UrbanCode Deploy should be installed. [Default: /opt/ibm-ucd/server]
[echo] Enter the directory where the IBM UrbanCode Deploy should be installed. [Default: /opt/ibm-ucd/server]
...
[echo] The specified directory does not exist. Do you want to create it? Y,n [Default: Y]
...
...
[echo] Installing IBM UrbanCode Deploy to: /opt/ibm-ucd/server
[echo] Please enter the home directory of the JRE/JDK used to run the server. [Default: /opt/IBM/Java/jre]
...
[echo] Please enter the home directory of the JRE/JDK used to run the server. [Default: /opt/IBM/Java/jre]
...
[echo] JVM Version detected: 1.7.0
[echo] JAVA_HOME: /opt/IBM/Java/jre
[echo] What host name will users access the Web UI at? [Default: ucd61.uk.ibm.com]
...
[echo] JAVA_HOME: /opt/IBM/Java/jre
[echo] What host name will users access the Web UI at? [Default: ucd61.uk.ibm.com]
...
[echo] Do you want the Web UI to always use secure connections using SSL? Y,n [Default: Y]
...
...
[echo] Enter the port on which the Web UI should listen for secure HTTPS requests. [Default: 8443]
...
...
[echo] Enter the port on which the Web UI should redirect unsecured HTTP requests from. [Default: 8080]
...
...
[echo] Enter the initial password for the admin user.
...
...
[echo] Please type password again.
...
...
[echo] Enter the port to use for agent communication. [Default: 7918]
...
...
[echo] Do you want the Server and Agent communication to require mutual authentication? This requires a manual key exchange between the server and each agent. See the documentation for more details. y,N [Default: N]
....
....
[echo] Enter the port and hostname of a Rational License Key Server containing product licenses for IBM UrbanCode Deploy, in the form of port@hostname. (e.g. 27000@licenses.example.com) Alternatively, you may leave this blank to begin a 60-day evaluation period. [Default: none]
....
....
[echo] Create database schema? Y,n [Default: Y]
...
...
[echo] Enter the database type to use. [Default: derby] db2
...
...
[echo] Enter the database driver. [Default: com.ibm.db2.jcc.DB2Driver]
...
...
[echo] Enter the database connection string. Eg. jdbc:db2://localhost:50000/ibm_ucd jdbc:db2://ucd61.uk.ibm.com:60008/UCD61
...
...
[echo] Enter the database username. [Default: ibm_ucd] db2user1
...
...
[echo] Enter the database password. [Default: password]
...
...
[echo] After starting the server, you may access the web UI by pointing your web-browser at
[echo] https://ucd61.uk.ibm.com:8443 to complete the Installation.
[echo] Installer Complete. (press return to exit installer)
[echo] https://ucd61.uk.ibm.com:8443 to complete the Installation.
[echo] Installer Complete. (press return to exit installer)
...
BUILD SUCCESSFUL
Total time: 2 minutes 24 seconds
Total time: 2 minutes 24 seconds
I started the server: -
and, ~30 seconds later, checked that it was up-and-running: -
cat /opt/ibm-ucd/server/var/log/deployserver.out
2014-12-14 11:13:16,619 WARN main com.urbancode.ds.UDeployServer - Property encryption.keystore.password not set. Using value from property server.keystore.password
2014-12-14 11:13:17,050 INFO main com.urbancode.ds.UDeployServer - Configuring Agent Network System for single-server setup...
2014-12-14 11:13:19,559 INFO main com.urbancode.ds.UDeployServer - done
2014-12-14 11:13:19,703 INFO main com.urbancode.ds.UDeployServer - IBM UrbanCode Deploy server started.
2014-12-14 11:13:17,050 INFO main com.urbancode.ds.UDeployServer - Configuring Agent Network System for single-server setup...
2014-12-14 11:13:19,559 INFO main com.urbancode.ds.UDeployServer - done
2014-12-14 11:13:19,703 INFO main com.urbancode.ds.UDeployServer - IBM UrbanCode Deploy server started.
netstat -aon | grep 8443
tcp 0 0 :::8443 :::* LISTEN off (0.00/0/0)
db2 list tables for schema db2user1
...
SEC_DB_VERSION DB2USER1 T 2014-12-14-11.11.11.872799
SEC_GROUP DB2USER1 T 2014-12-14-11.11.12.207976
SEC_GROUP_MAPPER DB2USER1 T 2014-12-14-11.11.12.271739
SEC_GROUP_MAPPING DB2USER1 T 2014-12-14-11.11.12.338698
SEC_GROUP_ROLE_ON_TEAM DB2USER1 T 2014-12-14-11.11.12.399760
...
SEC_GROUP DB2USER1 T 2014-12-14-11.11.12.207976
SEC_GROUP_MAPPER DB2USER1 T 2014-12-14-11.11.12.271739
SEC_GROUP_MAPPING DB2USER1 T 2014-12-14-11.11.12.338698
SEC_GROUP_ROLE_ON_TEAM DB2USER1 T 2014-12-14-11.11.12.399760
...
and, most importantly, tested the server: -
and logged in ( note to self, the user ID is, by default, admin although that's NOT obvious ): -
I guessed the user ID, but could have pulled it from the database: -
db2 "select name from db2user1.sec_user"
NAME
admin
1 record(s) selected.
NAME
admin
1 record(s) selected.
Note this message: -
There is no agent or tag configured to import new component versions, so no new versions will be imported. Please set this on the Settings > System Settings page.
occurs because I haven't yet installed any UCD plugins.
These can be downloaded via the Tools menu: -
Having downloaded the IBM UrbanCode Deploy Agent, I installed it via Resources > Agents > Install New Agent
Note that I needed to override the Java Home Path ( following on from the Java installation earlier ).
Now the agent is installed, it's ready to be provisioned: -
This is achieved via the Settings > System Settings page: -
We now have a working agent: -
and we're ready to go ......
3 comments:
from the plugin notes @
https://developer.ibm.com/urbancode/plugindoc/ibmucd/ibm-middleware-configuration-websphere/8-141002/
This plug-in does not currently support a WebSphere Application Server installation with IBM Business Process Manager installed.
@Michael - interesting, thanks for the tip. However, I know that one of my colleagues has successfully used UCD to deploy snapshots into BPM, most likely just using wsadmin/Jython over SOAP
Thank you, Dave.
https://192.168.2.1:8443/#dashboard
username: admin
password: password
Post a Comment