SlideShare a Scribd company logo
Broadcast Music – Release Automation
Rockstars!
Jim Harvey
Senior Director of Business Analysis and Quality Assurance, Broadcast Music
JHarvey@bmi.com
Greg Hodgkinson
Practice Director - Lifecycle Tools and Methodology, Prolifics
ghodgkin@prolifics.com
1874A
© 2013 IBM Corporation
Session Objectives
 Describe how to use Rational to automate your release
process
 Demonstrate flexibility of the Rational architecture in
automating a range of different DevOps tasks
 Share a bit of the technical stuff on how to achieve
automation on these different tasks
 Share some of our “release stories”
 Give you some ideas to get started
2
One! Two! Three! Four!
3
This is BMI – Who We Are and What We Do
• Broadcast Music, Inc. - 1939
• Performing Rights Organization (PRO)
• Pay public performance royalties
• Operate on a non-profit-making basis
• 7 locations: Nashville, New York, Los Angeles,
Atlanta, Miami, Puerto Rico, London
• 600 employees
• 7.5 million works
• 500,000 songwriters and composers
IBM Portal
2013 Jan
Where We Were
 Development and Support Silos
 Several Development Languages
 Roles – Many Hats
 Inconsistent Development Life
Cycle
5
Where We Are Going
 Business Process Management(BPM)
 IBM Portal
 Service Oriented Architecture(SOA)
 Dedicated Roles
 Agile
Overview of our Tooling
IBM Focal Point
– Product and portfolio management
IBM Rational Requirements Composer
– Maintains all user stories, use cases and
associated artifacts
IBM Rational Quality Manager
– Test management tool
IBM Rational Team Concert
– Work item tracking linking development work to
backlog items, source control
HP Unified Functional Tester(UFT)
- Application and service test automation
Build Forge
6
SOAP/HTTPSOAP/HTTP
Federated ESB Architecture
WebSphere Service Registry and Repository(WSRR)
Data transformations
Portal, BPM and Mobile Consumers
SOAP/HTTP (S)SOAP/HTTP (S)
ReST/HTTP (S)ReST/HTTP (S)
JDBCJDBC
SOAP/HTTP (S)SOAP/HTTP (S)
Security (authentication and authorization)
Prioritization of Automation Needs
 WESB – Service Development
 WSRR – support service consumers
 Data Power
 Portal
8
Choosing a Partner
 IBM Rational Expertise
 Best Practices
 Guidance
 Implementation
 Enablement
9
What Do We Want Out of Automated Release
Management?
 Automated assemble and deploy steps
 Either trigger automation on-demand or based on schedule
 Notification of failure
 Easy troubleshooting if assemble or deploy fails
 Ability to track a release
 Control what gets included in the release
 Roll-back a deployment of a release
 Redeploy a release at any time in future
10
The Secret to Achieving a Top-10 Hit: A Good Producer
Release Engineer
(Music Producer)
Development
Team
(Band)
Team Concert
(Recording
Studio)
• Readies for distribution
• Controls recording/distribution
• Creative – arranges songs
• Catches bad notes
11
The Rational Team Concert Recording Studio!
The Rational Team
Concert Recording
Studio!
Rational Team Concert
 The core of the Rational CLM solution – provides
CCM capabilities
 Capabilities
– Planning, Work Item Management, Source Control, Builds
 Key use cases
– Agile planning
– Component-based configuration management
– Continuous integration
12
The Rational Team Concert Recording Studio!
The Rational Team
Concert Recording
Studio!
Jazz Build Engine
 Light-weight build engine that ships with
Rational Team Concert
 Ant-based build engine – runs Ant build scripts
 Allows build engines to be distributed
 Light-weight install – supports Windows, Linux,
z/OS and IBM i platforms
 Single-threaded build engine
 Easy to get up and running
13
A Simple Automated Release Management Process
Team deliver code
Automation stores
assembly for deployment
Automation assembles
(builds) the code
Release
engineer
triggers
assembly Release
engineer
promotes
release
Release
engineer
triggers
deployment
Automation
deploys
assembly
14
Promoting Through Streams
 Configurations managed in streams
 Streams can be linked together to form a chain – one per environment
 Changes promoted through Pending Changes view
15
Teeing Up a Recording – the Build Definition
 Build definition defines:
1. What…
…it is that will be
assembled/deployed
(scope)
2. Where…
…it is to be deployed to
…to get the source/assembly
from (i.e. which stream)
…it will run (which build
engine)16
Each unique set of actions
that you want to run is set up
as a build definition
3. When…
…it will run for scheduled builds
4. How…
…describes what actions to apply
5. Who…
…’s user/password to use for
permissions
Defining Scope – What Tracks to Include?
 Scope is defined using Properties on
the build definition –
–makes it easy to configure,
–easy to see what was included in a
build.
 Some examples:
17
WebSphere Portal
•portlets.list
•themes.list
•propertyFiles.list
WebSphere ESB
•modules.list
WebSphere DataPower
•classes.list
•fileProjects.list
WebSphere Service Registry and Repository
•services.list
HP Service Test
•testsuites.list
And Out Pops … a Build Record
18
What Was Recorded?
19
Assembled Items – Ready for Download
20
Audit-Ready Proof of Quality
21
Troubleshooting When Things Go Wrong
22
Release Automation Needs – Very Similar, Very Different
 WebSphere ESB
– Basic build of source code, and then deploy to
target nodes
– Also need to start application once deployed
 WebSphere DataPower
– Application “source” is on DP device
– Also deploy files stored in source control
– Need to merge selected objects from DEV into
 WebSphere Portal
– Application consists of source code as well as
configuration in server
 WebSphere Service Registry and Repository
– Deploying to repository as opposed to runtime
server
 HP Service Test
– Executing a set of tests
23
Automation Powered by “Ant”
24
External
Libraries
External
Executables
Shell
Scripts
Ant
ScriptsXSL
Transformations
Adam and the Ants
Ant Tasks for Publishing to our Build Record
 Publish Activities
– startBuildActivity
25
 Publish Logs
– logPublisher
 Publish Artifacts
– artifactFilePublisher
 Publish Test Results
– junitLogPublisher
WebSphere ESB Automation
26
IBM Integration
Developer Source
Files
EAR files
 Actions Required
1. Build application modules
2. Assemble application EARs
3. Deploy application EARs
4. Store application EARs
5. Start application EARs
WebSphere ESB Automation
 Ant tasks
– buildAppModules, assembleAppEARs, deployAppEARs, deliverAppEARs, startAppEARs
27
 runAntWid.sh
– projectImport ant task
– projectBuild ant task
– zip ant task
 ws_ant.sh
– wsUninstallApp ant task
– wsInstallApp ant task
– wsStopApp ant task
– wsStartApp ant task
 scp
WebSphere DataPower Automation
28
Service Objects e.g. XML
Firewall Service, Multi-Protocol
Gateway
Files e.g. Certificates
Deployment Policy
Base 64 Configuration
File
 Actions Required
1. Export service objects from device’s development domain into B64 file
2. Import files into device’s development domain
3. Import (merge) service objects and files into device’s integration domain
4. Take backup of merged integration domain
5. Deploy merged domain into test and production domains
WebSphere DataPower Automation
29
 Ant tasks
– assembleServiceObjects, assembleDomain, mergeDeltasToDomain, deployDomain,
deleteDomain, deleteServiceObjects, deployServiceObjects, deployFiles
29
 xslt ant task
 curl
 WDP XML Management
– dp:do-action
– CreateDir
– RestartDomain
– SaveConfig
– dp:del-config
– dp:do-backup
– dp:do-export
– dp:do-import
– dp:set-file
WebSphere Portal Automation
30
Portlets Source Code
Themes Source Code
Portal Configuration e.g. Pages
etc.
Application Property Files
Portlets WAR file
Themes WAR file
Portal Configuration File
 Actions Required
1. Create portlet and theme WARs
2. Deploy WARs to development, integration, test and production
3. Export portal configuration (pages etc) from development Portal server
4. Import (merge) portal configuration into integration Portal server
5. Import merged portal configuration to test and production
WebSphere Portal Automation
31
 Ant tasks
– assemblePortlets, assembleThemes, assembleConfig, deployApp (deployPortlets,
deployThemes, deployConfig, deployProperties), mergeConfig
 javac ant task
 zip ant task
 xmlaccess.sh
 releasebuilder.sh
 scp
 expect
 wsadmin.sh
WebSphere Service Registry and Repository Automation
32
Service files e.g. WSDL, XSD
Other
Publish ID
Version Number and Description
 Actions Required
1. Move files from source project
2. Change port bindings
3. Publish documents
4. Create links
5. Add publish ID property
WebSphere Service Registry and Repository Automation
33
 Ant tasks
– synchArtifacts, changePortBindings, publishArtifacts,
 curl
 REST API
– POST Content/…
– GET MetaData/…
– DELETE MetaData/…
– PUT MetaData/…
 xmltask.jar
– replace task
 move task
HP Service Test Automation
34
Service Tests
 Actions Required
1. Execute tests
2. Package up and publish test logs
3. Package up and publish test results
test
HP Service Test Automation
35
 Ant tasks
– runTests, zipAndPublishReport
 ServiceTestExecuter.exe
 zip ant task
 propertyregex ant task
 junitLogPublisher
Some Additional Tweaks: Storing Assemblies
 Store assemblies to include in release snapshot and use in deployments
 Were doing this manually in beginning – but decided to automate – save lots of additional
time
 Use the RTC command-line SCM client (scm.sh) to do this
– Execute the following commands
login
share (first time only)
status
checkin
changesetcomment
deliver
36
Some Additional Tweaks: Password Encoding
 There are a number of passwords stored in build
engine and build definition
– Runtime platform API access
– RTC SCM command-line client access
– Access to target server machines for copy across files
 Do not store these in plain text!
 Solution is to encode them using the native WAS
password encode/decode functionality
– Java class: com.ibm.ws.security.util.PasswordDecoder
37
Some thoughts on encoding…
Some Additional Tweaks: Preview Mode
 It is often useful to do a trial-run build just to
check that the build is processing the correct
scope – but you don’t want to actually run
before confirmed.
 Built-in preview capability – instead of
executing commands it writes them out to the
logs – and otherwise populates activities log as
normal.
38
Automation Release stories – How has the team benefited?
39
Automation is the
way to go! Sense of
urgency / invested
interest to complete
automation
1
Greater
transparency
in processes =
Less Drama!2
Having a feedback
process (via nightly
scheduled CI build)
helps tackle “build
failures” right away
3
Resolve dev
problems
sooner
- Improves code
quality drastically
- Error messages /
warning with
automated build
- Helps identify
missing code
Helps avoid
“It works on my
laptop”
“That’s Ok. Let’s fix
that later” mindset
4
Dev and QA benefits
from easy rollback to
use previous
snapshot
5
Control
changes via
“pending
changes” view.
Report generated
to see what’s
pending to move
from DEV to TST
& TST to PROD
6
QA- Helps control
things that were
flying “fast and
loose”
Opportunity: Can
work on stored
procedure
automation
7
QA gained better
control of what’s
in any
environment
8
QA - “Build Tasks”
email notifications
on successful runs
helps them out of
the blocks sooner
9
Improved
solution
quality
11
Smoke test helps
approve
changes
10
This Is Good So What Is Missing?
• Scripts have grown in complexity and sharing
and maintaining them is becoming an issue
• Hard to reuse parts of scripts
• How to combine scripts easily?
• Not trivial to combine scripts e.g. build then test
• Single-threaded build engines
• Although we have a number of build machines and
build engines, the more the automation is used
the more we encounter wait conditions
• Application deployment is no longer a bottleneck
– but what about environments?
• sometimes we hit an environment provisioning
bottleneck, esp. for new projects
40
Introducing an Enterprise Automation Solution
 Rational Build Forge can plug into Rational Team
Concert as a replacement for the simple Jazz build
engine
 Still get the integration between build data and SCM
and work item data
 Now also benefit from….
1. No more single threaded limitation on a build engine
2. Automation scripts are more easily managed
3. Can share common script pieces easily between scripts
4. Get better reuse of script components
5. Can easily combine scripts to create superscripts!
41
Going Gold – Automated Environment Provision
 Added the Rational Automation Framework to add
automated provisioning of environments
 Reduced bottleneck of setup time for new environments
 Ability to quickly configure environment based on predefined
configurations
 Can now quickly stand up a totally new test environment from
the ground up – all automated
 Vastly less effort required to stand up new environments –
frees up team for more important work
 Environment plans are a lot more predictable
42
You Too Can Be A Release Rockstar!
5 Tips to Get Started
1.Identify and automate the activities that take up time
in your release process – either because of complexity,
or because time consuming to do, or because cause
many problems that are time consuming to fix.
2.Start simple with the Jazz Build Engine – and move to
Build Forge once your automation increases in scale
and complexity.
3.Prioritize automation requirements using RTC agile
planning – and track defects the same way.
4.Deliver automation scripts using RTC’s SCM – and
use component-and-stream-based structure to deliver
scripts alongside code.
5.Work with team to assess effectiveness of
automation, and identify improvements for next
release/sprint.
Release Rockstar Recap!
1. “Everybody Needs Assemble and Deploy Automation”
2. “Publish It Up! (Service Contracts)”
3. “Sultans of Automated Service Testing”
4. “Welcome to the Joined-Up Scripts”
5. “I Love Automated Environment Provision”
6. “Smells Like A More Confident Release Process”
7. “Working 9 to 12 (Due To Reduced Effort)”
8. “You Can’t Touch This Improved Quality”
9. “Another Brick in the End-To-End DevOps Process”
10. “Go Your Own Way”
44
45
46
Daily Apple TV giveaway
 Complete your session surveys online each day at a conference kiosk or on
your Innovate 2013 Portal!
 Each day that you complete all of that day’s session surveys, your name will
be entered to win the daily Apple TV!
 On Wednesday be sure to complete your full conference evaluation to receive
your free conference t-shirt!
47
Acknowledgements and disclaimers
© Copyright IBM Corporation 2013. All rights reserved.
– U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
IBM, the IBM logo, ibm.com, Rational, the Rational logo, Telelogic, the Telelogic logo, Green Hat, the Green Hat logo, and other IBM products
and services are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or
both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these
symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may
also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and
trademark information” at www.ibm.com/legal/copytrade.shtml
If you have mentioned trademarks that are not from IBM, please update and add the following lines:
[Insert any special third-party trademark names/attributions here]
Other company, product, or service names may be trademarks or service marks of others.
Availability: References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries
in which IBM operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided
for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any
participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided
AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise
related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating
any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license
agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may
have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is
intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue
growth or other results.
48
© Copyright IBM Corporation 2013. All rights reserved. The information
contained in these materials is provided for informational purposes only, and is
provided AS IS without warranty of any kind, express or implied. IBM shall not be
responsible for any damages arising out of the use of, or otherwise related to,
these materials. Nothing contained in these materials is intended to, nor shall
have the effect of, creating any warranties or representations from IBM or its
suppliers or licensors, or altering the terms and conditions of the applicable license
agreement governing the use of IBM software. References in these materials to
IBM products, programs, or services do not imply that they will be available in all
countries in which IBM operates. Product release dates and/or capabilities
referenced in these materials may change at any time at IBM’s sole discretion
based on market opportunities or other factors, and are not intended to be a
commitment to future product or feature availability in any way. IBM, the IBM logo,
Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products
and services are trademarks of the International Business Machines Corporation,
in the United States, other countries or both. Other company, product, or service
names may be trademarks or service marks of others.
49
How to use this template
 To allow all masters of your presentation to be updated correctly, download this
template to your hard drive and copy your existing slides into the new template
 See slide notes for further formatting instructions
 See below for suggested color palette. Core colors are blue and green. Additional
accent colors are purple, teal and orange, if needed.
Blue 2
R0
G176
B218
Blue 5
R0
G100
B157
Blue 6
R0
G63
B105
Blue 1
R131
G209
B245
Orange 2
R221
G115
B28
Purple 2
R127
G28
B125
Teal 1
R0
G166
B160
Green 1
R140
G198
B63
Green 2
R23
G175
B75
Green 3
R0
G138
B82

More Related Content

What's hot

Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
C4Media
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
Filipe Miranda
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
Shlomo Vanunu
 
Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVM
Mark Lechtermann
 
Codestrong 2012 breakout session exploring the new titanium command line in...
Codestrong 2012 breakout session   exploring the new titanium command line in...Codestrong 2012 breakout session   exploring the new titanium command line in...
Codestrong 2012 breakout session exploring the new titanium command line in...
Axway Appcelerator
 
DEVNET-2003 Coding 203: Python - User Input, File I/O, Logging and REST API C...
DEVNET-2003	Coding 203: Python - User Input, File I/O, Logging and REST API C...DEVNET-2003	Coding 203: Python - User Input, File I/O, Logging and REST API C...
DEVNET-2003 Coding 203: Python - User Input, File I/O, Logging and REST API C...
Cisco DevNet
 
The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)
The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)
The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)
Yunong Xiao
 
IBM Systems Technical Symposium Melbourne, 2015
IBM Systems Technical Symposium Melbourne, 2015IBM Systems Technical Symposium Melbourne, 2015
IBM Systems Technical Symposium Melbourne, 2015
Filipe Miranda
 

What's hot (8)

Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVM
 
Codestrong 2012 breakout session exploring the new titanium command line in...
Codestrong 2012 breakout session   exploring the new titanium command line in...Codestrong 2012 breakout session   exploring the new titanium command line in...
Codestrong 2012 breakout session exploring the new titanium command line in...
 
DEVNET-2003 Coding 203: Python - User Input, File I/O, Logging and REST API C...
DEVNET-2003	Coding 203: Python - User Input, File I/O, Logging and REST API C...DEVNET-2003	Coding 203: Python - User Input, File I/O, Logging and REST API C...
DEVNET-2003 Coding 203: Python - User Input, File I/O, Logging and REST API C...
 
The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)
The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)
The Paved PaaS to Microservices at Netflix (IAS2017 Nanjing)
 
IBM Systems Technical Symposium Melbourne, 2015
IBM Systems Technical Symposium Melbourne, 2015IBM Systems Technical Symposium Melbourne, 2015
IBM Systems Technical Symposium Melbourne, 2015
 

Similar to Broadcast Music Inc - Release Automation Rockstars!

20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Scott Miao
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
Grace Jansen
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labs
Andrea Leoncini
 
Developer 2: Building A DevOps Toolchain
Developer 2: Building A DevOps ToolchainDeveloper 2: Building A DevOps Toolchain
Developer 2: Building A DevOps Toolchain
Inflectra
 
Top 8 WCM Trends 2010
Top 8 WCM Trends 2010Top 8 WCM Trends 2010
Top 8 WCM Trends 2010
David Nuescheler
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
Shubhra Kar
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
DeZyre
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
Upkar Lidder
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
Chris Bailey
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
Jenkins NS
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
senthil0809
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
Stéphane Leroy
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
markgrover
 
AEM 6.X (With Basics) Training Syllabus
AEM 6.X (With Basics) Training SyllabusAEM 6.X (With Basics) Training Syllabus
AEM 6.X (With Basics) Training Syllabus
Shrinivas AEM Online Training
 
Meetup callback
Meetup callbackMeetup callback
Meetup callback
Wayne Scarano
 
Honorable Squires
Honorable SquiresHonorable Squires
Honorable Squires
ESUG
 
Eating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic AutomatesEating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic Automates
CA | Automic Software
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
NAVER D2
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
pundiramit
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
WASdev Community
 

Similar to Broadcast Music Inc - Release Automation Rockstars! (20)

20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
JCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptxJCON_15FactorWorkshop.pptx
JCON_15FactorWorkshop.pptx
 
JBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labsJBoss BPM Suite 6 Tech labs
JBoss BPM Suite 6 Tech labs
 
Developer 2: Building A DevOps Toolchain
Developer 2: Building A DevOps ToolchainDeveloper 2: Building A DevOps Toolchain
Developer 2: Building A DevOps Toolchain
 
Top 8 WCM Trends 2010
Top 8 WCM Trends 2010Top 8 WCM Trends 2010
Top 8 WCM Trends 2010
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Apache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless ComputingApache OpenWhisk Serverless Computing
Apache OpenWhisk Serverless Computing
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
Getting started with spfx
Getting started with spfxGetting started with spfx
Getting started with spfx
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 
Near real-time anomaly detection at Lyft
Near real-time anomaly detection at LyftNear real-time anomaly detection at Lyft
Near real-time anomaly detection at Lyft
 
AEM 6.X (With Basics) Training Syllabus
AEM 6.X (With Basics) Training SyllabusAEM 6.X (With Basics) Training Syllabus
AEM 6.X (With Basics) Training Syllabus
 
Meetup callback
Meetup callbackMeetup callback
Meetup callback
 
Honorable Squires
Honorable SquiresHonorable Squires
Honorable Squires
 
Eating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic AutomatesEating our Own Dogfood - How Automic Automates
Eating our Own Dogfood - How Automic Automates
 
Kandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_finalKandroid for nhn_deview_20131013_v5_final
Kandroid for nhn_deview_20131013_v5_final
 
Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011Android porting for dummies @droidconin 2011
Android porting for dummies @droidconin 2011
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
 

More from ghodgkinson

Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
ghodgkinson
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
ghodgkinson
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!
Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!
Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!
ghodgkinson
 
7irene Application Reference Model - Presented at OT2004
7irene Application Reference Model - Presented at OT20047irene Application Reference Model - Presented at OT2004
7irene Application Reference Model - Presented at OT2004
ghodgkinson
 
The Art of Optimization - Prolifics Lifecycle Tools and Methodology Practice
The Art of Optimization - Prolifics Lifecycle Tools and Methodology PracticeThe Art of Optimization - Prolifics Lifecycle Tools and Methodology Practice
The Art of Optimization - Prolifics Lifecycle Tools and Methodology Practice
ghodgkinson
 

More from ghodgkinson (6)

Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
 
Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!
Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!
Broadcast Music Inc - Scaling Up, Doing More, Having More Fun!
 
7irene Application Reference Model - Presented at OT2004
7irene Application Reference Model - Presented at OT20047irene Application Reference Model - Presented at OT2004
7irene Application Reference Model - Presented at OT2004
 
The Art of Optimization - Prolifics Lifecycle Tools and Methodology Practice
The Art of Optimization - Prolifics Lifecycle Tools and Methodology PracticeThe Art of Optimization - Prolifics Lifecycle Tools and Methodology Practice
The Art of Optimization - Prolifics Lifecycle Tools and Methodology Practice
 

Recently uploaded

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 

Recently uploaded (20)

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 

Broadcast Music Inc - Release Automation Rockstars!

  • 1. Broadcast Music – Release Automation Rockstars! Jim Harvey Senior Director of Business Analysis and Quality Assurance, Broadcast Music JHarvey@bmi.com Greg Hodgkinson Practice Director - Lifecycle Tools and Methodology, Prolifics ghodgkin@prolifics.com 1874A © 2013 IBM Corporation
  • 2. Session Objectives  Describe how to use Rational to automate your release process  Demonstrate flexibility of the Rational architecture in automating a range of different DevOps tasks  Share a bit of the technical stuff on how to achieve automation on these different tasks  Share some of our “release stories”  Give you some ideas to get started 2 One! Two! Three! Four!
  • 3. 3 This is BMI – Who We Are and What We Do • Broadcast Music, Inc. - 1939 • Performing Rights Organization (PRO) • Pay public performance royalties • Operate on a non-profit-making basis • 7 locations: Nashville, New York, Los Angeles, Atlanta, Miami, Puerto Rico, London • 600 employees • 7.5 million works • 500,000 songwriters and composers
  • 5. Where We Were  Development and Support Silos  Several Development Languages  Roles – Many Hats  Inconsistent Development Life Cycle 5 Where We Are Going  Business Process Management(BPM)  IBM Portal  Service Oriented Architecture(SOA)  Dedicated Roles  Agile
  • 6. Overview of our Tooling IBM Focal Point – Product and portfolio management IBM Rational Requirements Composer – Maintains all user stories, use cases and associated artifacts IBM Rational Quality Manager – Test management tool IBM Rational Team Concert – Work item tracking linking development work to backlog items, source control HP Unified Functional Tester(UFT) - Application and service test automation Build Forge 6
  • 7. SOAP/HTTPSOAP/HTTP Federated ESB Architecture WebSphere Service Registry and Repository(WSRR) Data transformations Portal, BPM and Mobile Consumers SOAP/HTTP (S)SOAP/HTTP (S) ReST/HTTP (S)ReST/HTTP (S) JDBCJDBC SOAP/HTTP (S)SOAP/HTTP (S) Security (authentication and authorization)
  • 8. Prioritization of Automation Needs  WESB – Service Development  WSRR – support service consumers  Data Power  Portal 8
  • 9. Choosing a Partner  IBM Rational Expertise  Best Practices  Guidance  Implementation  Enablement 9
  • 10. What Do We Want Out of Automated Release Management?  Automated assemble and deploy steps  Either trigger automation on-demand or based on schedule  Notification of failure  Easy troubleshooting if assemble or deploy fails  Ability to track a release  Control what gets included in the release  Roll-back a deployment of a release  Redeploy a release at any time in future 10
  • 11. The Secret to Achieving a Top-10 Hit: A Good Producer Release Engineer (Music Producer) Development Team (Band) Team Concert (Recording Studio) • Readies for distribution • Controls recording/distribution • Creative – arranges songs • Catches bad notes 11
  • 12. The Rational Team Concert Recording Studio! The Rational Team Concert Recording Studio! Rational Team Concert  The core of the Rational CLM solution – provides CCM capabilities  Capabilities – Planning, Work Item Management, Source Control, Builds  Key use cases – Agile planning – Component-based configuration management – Continuous integration 12
  • 13. The Rational Team Concert Recording Studio! The Rational Team Concert Recording Studio! Jazz Build Engine  Light-weight build engine that ships with Rational Team Concert  Ant-based build engine – runs Ant build scripts  Allows build engines to be distributed  Light-weight install – supports Windows, Linux, z/OS and IBM i platforms  Single-threaded build engine  Easy to get up and running 13
  • 14. A Simple Automated Release Management Process Team deliver code Automation stores assembly for deployment Automation assembles (builds) the code Release engineer triggers assembly Release engineer promotes release Release engineer triggers deployment Automation deploys assembly 14
  • 15. Promoting Through Streams  Configurations managed in streams  Streams can be linked together to form a chain – one per environment  Changes promoted through Pending Changes view 15
  • 16. Teeing Up a Recording – the Build Definition  Build definition defines: 1. What… …it is that will be assembled/deployed (scope) 2. Where… …it is to be deployed to …to get the source/assembly from (i.e. which stream) …it will run (which build engine)16 Each unique set of actions that you want to run is set up as a build definition 3. When… …it will run for scheduled builds 4. How… …describes what actions to apply 5. Who… …’s user/password to use for permissions
  • 17. Defining Scope – What Tracks to Include?  Scope is defined using Properties on the build definition – –makes it easy to configure, –easy to see what was included in a build.  Some examples: 17 WebSphere Portal •portlets.list •themes.list •propertyFiles.list WebSphere ESB •modules.list WebSphere DataPower •classes.list •fileProjects.list WebSphere Service Registry and Repository •services.list HP Service Test •testsuites.list
  • 18. And Out Pops … a Build Record 18
  • 20. Assembled Items – Ready for Download 20
  • 21. Audit-Ready Proof of Quality 21
  • 23. Release Automation Needs – Very Similar, Very Different  WebSphere ESB – Basic build of source code, and then deploy to target nodes – Also need to start application once deployed  WebSphere DataPower – Application “source” is on DP device – Also deploy files stored in source control – Need to merge selected objects from DEV into  WebSphere Portal – Application consists of source code as well as configuration in server  WebSphere Service Registry and Repository – Deploying to repository as opposed to runtime server  HP Service Test – Executing a set of tests 23
  • 24. Automation Powered by “Ant” 24 External Libraries External Executables Shell Scripts Ant ScriptsXSL Transformations Adam and the Ants
  • 25. Ant Tasks for Publishing to our Build Record  Publish Activities – startBuildActivity 25  Publish Logs – logPublisher  Publish Artifacts – artifactFilePublisher  Publish Test Results – junitLogPublisher
  • 26. WebSphere ESB Automation 26 IBM Integration Developer Source Files EAR files  Actions Required 1. Build application modules 2. Assemble application EARs 3. Deploy application EARs 4. Store application EARs 5. Start application EARs
  • 27. WebSphere ESB Automation  Ant tasks – buildAppModules, assembleAppEARs, deployAppEARs, deliverAppEARs, startAppEARs 27  runAntWid.sh – projectImport ant task – projectBuild ant task – zip ant task  ws_ant.sh – wsUninstallApp ant task – wsInstallApp ant task – wsStopApp ant task – wsStartApp ant task  scp
  • 28. WebSphere DataPower Automation 28 Service Objects e.g. XML Firewall Service, Multi-Protocol Gateway Files e.g. Certificates Deployment Policy Base 64 Configuration File  Actions Required 1. Export service objects from device’s development domain into B64 file 2. Import files into device’s development domain 3. Import (merge) service objects and files into device’s integration domain 4. Take backup of merged integration domain 5. Deploy merged domain into test and production domains
  • 29. WebSphere DataPower Automation 29  Ant tasks – assembleServiceObjects, assembleDomain, mergeDeltasToDomain, deployDomain, deleteDomain, deleteServiceObjects, deployServiceObjects, deployFiles 29  xslt ant task  curl  WDP XML Management – dp:do-action – CreateDir – RestartDomain – SaveConfig – dp:del-config – dp:do-backup – dp:do-export – dp:do-import – dp:set-file
  • 30. WebSphere Portal Automation 30 Portlets Source Code Themes Source Code Portal Configuration e.g. Pages etc. Application Property Files Portlets WAR file Themes WAR file Portal Configuration File  Actions Required 1. Create portlet and theme WARs 2. Deploy WARs to development, integration, test and production 3. Export portal configuration (pages etc) from development Portal server 4. Import (merge) portal configuration into integration Portal server 5. Import merged portal configuration to test and production
  • 31. WebSphere Portal Automation 31  Ant tasks – assemblePortlets, assembleThemes, assembleConfig, deployApp (deployPortlets, deployThemes, deployConfig, deployProperties), mergeConfig  javac ant task  zip ant task  xmlaccess.sh  releasebuilder.sh  scp  expect  wsadmin.sh
  • 32. WebSphere Service Registry and Repository Automation 32 Service files e.g. WSDL, XSD Other Publish ID Version Number and Description  Actions Required 1. Move files from source project 2. Change port bindings 3. Publish documents 4. Create links 5. Add publish ID property
  • 33. WebSphere Service Registry and Repository Automation 33  Ant tasks – synchArtifacts, changePortBindings, publishArtifacts,  curl  REST API – POST Content/… – GET MetaData/… – DELETE MetaData/… – PUT MetaData/…  xmltask.jar – replace task  move task
  • 34. HP Service Test Automation 34 Service Tests  Actions Required 1. Execute tests 2. Package up and publish test logs 3. Package up and publish test results test
  • 35. HP Service Test Automation 35  Ant tasks – runTests, zipAndPublishReport  ServiceTestExecuter.exe  zip ant task  propertyregex ant task  junitLogPublisher
  • 36. Some Additional Tweaks: Storing Assemblies  Store assemblies to include in release snapshot and use in deployments  Were doing this manually in beginning – but decided to automate – save lots of additional time  Use the RTC command-line SCM client (scm.sh) to do this – Execute the following commands login share (first time only) status checkin changesetcomment deliver 36
  • 37. Some Additional Tweaks: Password Encoding  There are a number of passwords stored in build engine and build definition – Runtime platform API access – RTC SCM command-line client access – Access to target server machines for copy across files  Do not store these in plain text!  Solution is to encode them using the native WAS password encode/decode functionality – Java class: com.ibm.ws.security.util.PasswordDecoder 37 Some thoughts on encoding…
  • 38. Some Additional Tweaks: Preview Mode  It is often useful to do a trial-run build just to check that the build is processing the correct scope – but you don’t want to actually run before confirmed.  Built-in preview capability – instead of executing commands it writes them out to the logs – and otherwise populates activities log as normal. 38
  • 39. Automation Release stories – How has the team benefited? 39 Automation is the way to go! Sense of urgency / invested interest to complete automation 1 Greater transparency in processes = Less Drama!2 Having a feedback process (via nightly scheduled CI build) helps tackle “build failures” right away 3 Resolve dev problems sooner - Improves code quality drastically - Error messages / warning with automated build - Helps identify missing code Helps avoid “It works on my laptop” “That’s Ok. Let’s fix that later” mindset 4 Dev and QA benefits from easy rollback to use previous snapshot 5 Control changes via “pending changes” view. Report generated to see what’s pending to move from DEV to TST & TST to PROD 6 QA- Helps control things that were flying “fast and loose” Opportunity: Can work on stored procedure automation 7 QA gained better control of what’s in any environment 8 QA - “Build Tasks” email notifications on successful runs helps them out of the blocks sooner 9 Improved solution quality 11 Smoke test helps approve changes 10
  • 40. This Is Good So What Is Missing? • Scripts have grown in complexity and sharing and maintaining them is becoming an issue • Hard to reuse parts of scripts • How to combine scripts easily? • Not trivial to combine scripts e.g. build then test • Single-threaded build engines • Although we have a number of build machines and build engines, the more the automation is used the more we encounter wait conditions • Application deployment is no longer a bottleneck – but what about environments? • sometimes we hit an environment provisioning bottleneck, esp. for new projects 40
  • 41. Introducing an Enterprise Automation Solution  Rational Build Forge can plug into Rational Team Concert as a replacement for the simple Jazz build engine  Still get the integration between build data and SCM and work item data  Now also benefit from…. 1. No more single threaded limitation on a build engine 2. Automation scripts are more easily managed 3. Can share common script pieces easily between scripts 4. Get better reuse of script components 5. Can easily combine scripts to create superscripts! 41
  • 42. Going Gold – Automated Environment Provision  Added the Rational Automation Framework to add automated provisioning of environments  Reduced bottleneck of setup time for new environments  Ability to quickly configure environment based on predefined configurations  Can now quickly stand up a totally new test environment from the ground up – all automated  Vastly less effort required to stand up new environments – frees up team for more important work  Environment plans are a lot more predictable 42
  • 43. You Too Can Be A Release Rockstar! 5 Tips to Get Started 1.Identify and automate the activities that take up time in your release process – either because of complexity, or because time consuming to do, or because cause many problems that are time consuming to fix. 2.Start simple with the Jazz Build Engine – and move to Build Forge once your automation increases in scale and complexity. 3.Prioritize automation requirements using RTC agile planning – and track defects the same way. 4.Deliver automation scripts using RTC’s SCM – and use component-and-stream-based structure to deliver scripts alongside code. 5.Work with team to assess effectiveness of automation, and identify improvements for next release/sprint.
  • 44. Release Rockstar Recap! 1. “Everybody Needs Assemble and Deploy Automation” 2. “Publish It Up! (Service Contracts)” 3. “Sultans of Automated Service Testing” 4. “Welcome to the Joined-Up Scripts” 5. “I Love Automated Environment Provision” 6. “Smells Like A More Confident Release Process” 7. “Working 9 to 12 (Due To Reduced Effort)” 8. “You Can’t Touch This Improved Quality” 9. “Another Brick in the End-To-End DevOps Process” 10. “Go Your Own Way” 44
  • 45. 45
  • 46. 46 Daily Apple TV giveaway  Complete your session surveys online each day at a conference kiosk or on your Innovate 2013 Portal!  Each day that you complete all of that day’s session surveys, your name will be entered to win the daily Apple TV!  On Wednesday be sure to complete your full conference evaluation to receive your free conference t-shirt!
  • 47. 47 Acknowledgements and disclaimers © Copyright IBM Corporation 2013. All rights reserved. – U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. IBM, the IBM logo, ibm.com, Rational, the Rational logo, Telelogic, the Telelogic logo, Green Hat, the Green Hat logo, and other IBM products and services are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml If you have mentioned trademarks that are not from IBM, please update and add the following lines: [Insert any special third-party trademark names/attributions here] Other company, product, or service names may be trademarks or service marks of others. Availability: References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
  • 48. 48 © Copyright IBM Corporation 2013. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
  • 49. 49 How to use this template  To allow all masters of your presentation to be updated correctly, download this template to your hard drive and copy your existing slides into the new template  See slide notes for further formatting instructions  See below for suggested color palette. Core colors are blue and green. Additional accent colors are purple, teal and orange, if needed. Blue 2 R0 G176 B218 Blue 5 R0 G100 B157 Blue 6 R0 G63 B105 Blue 1 R131 G209 B245 Orange 2 R221 G115 B28 Purple 2 R127 G28 B125 Teal 1 R0 G166 B160 Green 1 R140 G198 B63 Green 2 R23 G175 B75 Green 3 R0 G138 B82

Editor's Notes

  1. Author Notes: This is the PowerPoint template for the Innovate 2013 Track Sessions This template has been built in PowerPoint 2003. If you’re using PowerPoint 2007 or above, you may experience different usability results than what is provided as guidance here. To allow all masters of your exiting presentation to be updated correctly, download this template to your hard drive and copy your existing slides into the new template using slide sorter. IBMers can find additional information on presentation guidelines and resources at:https://w3-connections.ibm.com/wikis/home?lang=en-us#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources IBM Rational presenters can leverage existing brand-level assets and sparklers (including Rational Brand Messaging Slides, Client Success Slides and Client Quotes, Statistics) from SSW’s Brand Content Page:https://w3-03.sso.ibm.com/software/xl/myportal/content?synKey=R789607U42052O71 Imagery guidelines: Avoid using cartoon like clip-art, use photo-art instead. Third party material cannot be used in a presentation without written permission (this includes product and Web page screen shots, and photos). Images must be acquired from a ‘royalty-free to use’ source such as: Microsoft or Lotus Symphony Clip Art library http://www.freebyte.com/clipart_images_photos_icons/#freevectorgraphics http://www.freedigitalphotos.net/ IBMers can use royalty-free images from the following repositories: IBM Brand Systems Center / Assets / PhotographyLogin instructions: https://w3-connections.ibm.com/forums/html/topic?id=c1082624-e54c-4e04-bad1-ddb150ac7540 IBM Software Story Imageshttps://w3-connections.ibm.com/files/app#/collection/b7570645-b2f8-4450-a27f-9269a163fc2d IBM Rational Presentation Image Library: https://w3-connections.ibm.com/wikis/home?lang=en_US#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources/page/Presentation%20Image%20Library
  2. Build Digram
  3. Federated ESB with WESB and DataPower SOA Governance with WSRR and DataPower Build, test, and deployment automation driving quality with Rational tools Numerous frameworks supporting security, logging, and monitoring
  4. WESB – SOA was a starting point. First development effort to support our up coming applications WSRR – Provides access to the WSDL for the soap user. We need to be up to date with our model changes. Data power – more complicated to automate. More time consuming. There are several steps and different component configuration considerations. Portal – Dependent on SOA pieces.
  5. Hand off
  6. Produces the recording ready for distribution Part of the creative process – selecting/arranging songs Sometimes write part of the material Provide feedback on recordings and help tweak performance
  7. Optional slide. Graphic is available in English only.
  8. Giveaway Slide
  9. Mandatory closing slide (1 of 2) Acknowledgements and disclaimers IBMers must include This mandatory “Acknowledgements and Disclaimers” slide at the end of your presentation before the closing “Thank You” slide. - You will need to customize the “Acknowledgements and Disclaimers” text in red appropriately.
  10. Mandatory closing slide (2 of 2) Thank You Slide (available in English only).
  11. Author Notes: This template has been built in PowerPoint 2003. If you’re using PowerPoint 2007 or above, you may experience different usability results than what is provided as guidance here. Depending on how the source file was formatted, some slides will not ideally reformat once the template is applied. Therefore, some reformatting will be necessary. Reapply slide layouts: Task Pane / Slide Layout Can be applied thru normal or slide sorter view May have to reapply the layouts more than once in order to take effect Limit altering slide layout attributes on your slide (fonts, positioning, text box anchoring, positioning, etc.), this will create less reformatting rework when switching templates in the future or repurposing this slide in other presentations. Use “shift returns” if text wraps are needed to wrap around imagery. If slide layout customization is needed, it’s advised to break the customized text box from the slide layout by selecting the bounding box of the altered text box and cutting it from the slide, apply either the title slide layout or the blank layout, and then paste the text box back onto the slide. Your custom-formatting of the text layout will then be retained for future repurposing in other presentations. Slide numbers may be duplicated in the footer of your slides. You’ll have to delete the page numbers on the left manually for each slide. Recolor graphics if needed by using the embedded color palette swatches already in this template. The color palette is also specified on the slide above. Slide text: Don’t create long sentences or paragraphs on slides. Use concise bulleted list format. Use speaker notes for supporting bulleted content to avoid slides that are too text heavy. Use sentence case capitalization for presentation titles, slide titles, category labels and bullets: Format / Change Case / Sentence Case. Initial capitalization is limited to our products and offerings. When referring to IBM products, use the correct full name, do not abbreviate. Imagery guidelines: Avoid using cartoon like clip-art, use photo-art instead. Third party material cannot be used in a presentation without written permission (this includes product and Web page screen shots, and photos). Images must be acquired from a ‘royalty-free to use’ source such as: Microsoft or Lotus Symphony Clip Art library http://www.freebyte.com/clipart_images_photos_icons/#freevectorgraphics http://www.freedigitalphotos.net/ IBMers can use royalty-free images from the following repositories: IBM Brand Systems Center / Assets / PhotographyLogin instructions: https://w3-connections.ibm.com/forums/html/topic?id=c1082624-e54c-4e04-bad1-ddb150ac7540 IBM Software Story Imageshttps://w3-connections.ibm.com/files/app#/collection/b7570645-b2f8-4450-a27f-9269a163fc2d IBM Rational Presentation Image Library: https://w3-connections.ibm.com/wikis/home?lang=en_US#!/wiki/Rational%20Presentation%20Templates,%20Guidelines,%20and%20Resources/page/Presentation%20Image%20Library