Script to push a CICS bundle into IBM UrbanCode Deploy (UCD) as a component version.
- bash is used to run the script. For Linux this is likely pre-installed. For z/OS it is available from Ported Tools.
- xmllint XML parser, in particular a version that supports the --xpath parameter. Used to parse the CICS bundle manifest cics.xml file to get the bundle version. Typically pre-installed on Linux as part of the libxml2 library. It is not currently available on z/OS.
- udclient command-line client for UCD. This is used to interact with UCD to remove and create a component version, and to add properties and files to a component version. Install from the UCD web interface by selecting Help > IBM UrbanCode Deploy Client.
pushcicsbundletoucd [-hr] [-n COMPONENT_NAME] [-v COMPONENT_VERSION_NAME] [-q COMPONENT_VERSION_NAME_QUALIFIER] DIRECTORY
Options:
-h, --help Help
-n, --name Component name in UCD
If unspecified the CICS bundle ID of the first bundle found is used.
-v, --version Component version name in UCD
If unspecified the CICS bundle version of the first bundle found is used.
-q, --qualifier Component version name qualifier in UCD
-r, --replace Replace the existing component version if it exists
Component versions cannot be deleted if they have been deployed.
DIRECTORY is the output directory created by the CICS build toolkit to be pushed.
-
Import the CICS bundle template that provides processes to deploy and undeploy CICS bundles.
-
Create a component using the UCD web interface.
Components > Create Component > Name:
com.example.service
> Save -
Create the CICS bundle using the CICS Explorer.
File > New > CICS Bundle Project > Project name:
com.example.service
> Finish -
Add resources to the CICS bundle, for example a transaction.
-
Export the CICS bundle as an Eclipse project using CICS Explorer.
File > Export.. > File System > select the project > To directory:
/build/input
> Finish -
Build the CICS bundle using the CICS build toolkit.
cicsbt --input /build/input/* --build com.example.service --output /build/output
-
Push the CICS bundle into UCD as a component version.
DS_WEB_URL is the URL of the UrbanCode Deploy server. DS_AUTH_TOKEN is an authorisation token to access the server from from shell scripts. the -q option appends a dash and timestamp to identify when this version of the bundle was built. The /build/output directory is the output from the CICS build toolkit.
export DS_WEB_URL=https://ucd.example.com:8443
export DS_AUTH_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
pushcicsbundletoucd -q "-"`date +%Y-%m-%d-%H:%M:%S` /build/output