Post on 21-Aug-2015
transcript
© 2015 IBM Corporation. 1
Enhanced CICS Cloud Enablement and DevOps Capabilities
Mark CockerSenior Software Engineer, CICS Development
© 2015 IBM Corporation. 2
DevOps
Communication Automation
IntegrationCollaboration
Continuous
TestBuild
Release
Fast
Repeatable
ReliableEfficient
Confident
© 2015 IBM Corporation. 3
Develop
Alan Andersson (COBOL Application Developer) and Jash Jayaraman (Java Application Developer) can check out code from the SCM system
and modify it.
Once happy, they commit the code back to the SCM system.
Pre-delivery builds help them both to know that their code will compile and they can test the results as they code.
Once they’ve committed, they can see the results of their changes in the resultant builds and automated tests, to fix problems quickly.
© 2015 IBM Corporation. 4
Build
Bobbie Beckett (Build Engineer) has written build automation, using the new CICS Build Toolkit, to build:
- CICS bundlesEvents, policies and other resourcesJava OSGi bundles and Liberty applications
- CICS cloud applications
Bobbie sets up CI servers to run the build after every code change, just like their native code.
The builds also run automated tests.
© 2015 IBM Corporation. 5
Release
Richard Renner (Release Engineer) has written release automation for the company’s CICS bundles and applications using the new JCL utility DFHDPLOY, which simplifies how he writes that automation.
He also works with his fellow release engineers across the company to use UrbanCode Deploy (with the new CICS plugin) to deploy CICS components in unison with other components.
New builds can now be quickly and automatically deployed to the right environments.
© 2015 IBM Corporation. 7
DevOps Scenario
Developer Build Engineer
SCMSCMIDEIDE Build Repository
Build Repository
Check in
Check out
CICS Build Toolkit
© 2015 IBM Corporation. 8
DevOps scenario
Developer Build Engineer Release Engineer
SCMSCMIDEIDE Build Repository
Build Repository
CICS + z/OS
CICS + z/OS
Check in
Check out
CICS Build ToolkitCICS Build Toolkit
& DFHDPLOY
UrbanCode Deploy
COBOLA traditional CICS application in COBOL, using its existing tools and build infrastructure, forms part of a coordinated deployment with other artefacts using UrbanCode Deploy.
COBOL + PolicyA traditional CICS application in COBOL, managed by policies deployed in a CICS bundle, is deployed using UrbanCode Deploy.
Liberty Profile A Java EE application with a RESTful front-end is built automatically and deployed using z/OS automation.
Multi-version COBOLCICS application
A CICS cloud-style application is built automatically and deployed using z/OS automation without loss of service.
COBOL + OSGiAn application, mainly composed of COBOL but with modules that have been converted to OSGi, is deployed using UrbanCode Deploy.
DevOps scenario examples
UrbanCode Deploy
RTC + Apache Ant
SCMSCMIDEIDE Build Repository
Build Repository
Target Environment
Target Environment
CA Endevor +
RTC
CA Endevor +
RTC
RD/z + CICS
Explorer
RD/z + CICS
Explorer
CA Endevor +
UrbanCode Deploy
CA Endevor +
UrbanCode Deploy
CICS + z/OS
CICS + z/OS
Build Automation
Deployment Automation
DevOps example scenario - COBOL + Java OSGiDeploy Java in an OSGi JVM server alongside your existing COBOL application
© 2015 IBM Corporation. 11
Command-line interface to build CICS projectsScript alternative for “Export ... to z/OS UNIX File System”
One tool to build for all versions of CICS TS
Uses projects from CICS Explorer optionally shared through SCM
Installation on z/OS, Linux, Windows Transfer cicsbt_v5.3.0.0.zip from CICS beta site in binary
Unzip; jar -xf cicsbt_v5.3.0.0.zip
Make executable on z/OS and Linux; chmod a+x *.sh
Requires• Java 7 or above, for z/OS IBM 31-bit or 64-bit SDK
CICS Build Toolkit
© 2015 IBM Corporation. 12
CICS Build Toolkit examples
Build a CICS bundle
Bundle ID, bundle ID + version, several bundles, all bundles
cicsbt --input my/source/dir/*
--build MyBundleProject --output my/output/dir
Build a CICS bundle that references an OSGi Java project + Liberty apps
For OSGI can use a CICS version .target or your own
cicsbt --input my/source/dir/* --build OSGiBundleProject --target com.ibm.cics.explorer.sdk.runtime51.target --output my/output/dir
Build a CICS cloud application and binding
Application binding ID, binding ID + version, all applications and bindings
cicsbt --input my/source/dir/*
--build MyApplicationBinding
--output my/output/dir
© 2015 IBM Corporation. 13
CICS Build Toolkit as part of continuous integration
Build Engineer can write a build script to:
Check out resourcesBuild CICS applicationCopy to staging
Test, and run from continuous integration build server, such as Jenkins or RTC
© 2015 IBM Corporation. 14
DFHDPLOY batch utility
Automate deployment of bundles (and applications) through simple single commands…
“Take a bundle on disk, install it, and take it to the state I want.”... and the reverse as well.
Automation runs faster - takes advantage of new synchronous APIs where available.
Intelligent management of BAS and CSD definitionsIncluding support for shared CSDs
© 2015 IBM Corporation. 17
• Continuous Delivery– Integrate with build and test tools to automatically deploy, test and promote new builds
• Production Deployments – Orchestrate a complex production deployments of applications and configuration
• Self-Service – Grant teams rights to “push the go button” for different applications and environments
• Incremental Updates – Deploy only the changed components or missing incremental (patch) versions
IBM UrbanCode Deploy
© 2015 IBM Corporation. 18
IBM UrbanCode Deploy – plug-ins
>110 from IBM, partners, community
zOS Utility, Git, RTC, CICS, DB2... file systems, repositories, build systems, SCMs, web, SDKs, cloud, email, application servers, databases, registries, messaging, OS tools
zOS Utility Copy, FTP, deploy, rollbackSubmit and wait for jobsRun TSO, ISPF commands
© 2015 IBM Corporation. 19
CICS TS plug-in for UrbanCode Deploy
IBM UrbanCode Deploy no-charge trialibm.com/software/products/en/ucdep/
CICS TS plug-in available now!developer.ibm.com/urbancode/plugins/Use UrbanCode Deploy web interface to install plug-in .zip
Scenarios in CICS TS plug-inInstall and lifecycle resourcesNEWCOPY and PHASEIN programs, scan pipelines
© 2015 IBM Corporation. 21
CICS TS plug-in for UrbanCode Deploy example
z/OS and CICS plug-in steps Copy Artifacts - loads the artifacts that make up the z/oS component version Deploy Data Sets - deploy the component version to z/OS by copy datasets and members NEWCOPY Programs – performs a NEWCOPY for the changed members
© 2015 IBM Corporation. 23
Summary
CICS Build Toolkit Multi-platform tool with a command-line interface to build CICS cloud applications and bundles Run from continuous integration build server, such as JenkinsWorks with CICS TS V4.1 and above.
DFHDPLOYJCL utility to deploy and undeploy CICS bundles and cloud applicationsScript the deployment in a single step, without the complexity of polling.
CICS plug-in for UrbanCode Deploy Extends IBM UrbanCode Deploy to deploy and undeploy CICS applications, in coordination with other application and database components in a single action