Post on 28-Dec-2015
COMP-14: Automating your deployments using ANT
Gary S ClinkBusiness Consultant
© 2006 Progress Software Corporation2COMP-14: Automating your deployments using ANT
P R E F A C E
Introduction
P R E F A C E
© 2006 Progress Software Corporation3COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation4COMP-14: Automating your deployments using ANT
Requirements Specification
Functional Specification
Technical Specification
Program Specification
Test
Business Objectives
Deploy
Waterfall
Code
Deployment and the Life-Cycle
© 2006 Progress Software Corporation5COMP-14: Automating your deployments using ANT
Deployment and the Life-Cycle
© 2006 Progress Software Corporation6COMP-14: Automating your deployments using ANT
Deployment
Deployment and the Life-Cycle
© 2006 Progress Software Corporation7COMP-14: Automating your deployments using ANT
Deployment and the Life-cycle
Deployment is NOT a mile-stone but a task. Deployment SHOULD NOT take place at the end of a
project but DURING it.
Don’t let deployment be the Achilles’ Heel in your project!
© 2006 Progress Software Corporation8COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation9COMP-14: Automating your deployments using ANT
S
ervi
ce D
esk
Configuration Management Database (CMDB)
IncidentManagement
ProblemManagement
ChangeManagement
ConfigurationManagement
ReleaseManagement
Service Support
IT Infrastructure Library - Planning
© 2006 Progress Software Corporation10COMP-14: Automating your deployments using ANT
i. Plan and oversee rollout of SW and HW
ii. Design procedures for distribution and installation of changes to IT systems
iii. Changes are traceable, secure, authorised, and tested
iv. Communicate with customers
v. Agree content of rollout for the Release
IT Infrastructure Library - Planning
© 2006 Progress Software Corporation11COMP-14: Automating your deployments using ANT
vi. Release under control of Change and Configuration Management
vii. Copies of software are in DSL* and CMDB**
viii.Hardware changes are secure and traceable
(Continued)
*DSL = Definitive Software Library**CMDB = Configuration Management Database
IT Infrastructure Library - Planning
© 2006 Progress Software Corporation12COMP-14: Automating your deployments using ANT
dd Gary's Laptop
nbgclink01 :Dell Latitude
C600
sports2000 :Progress OE 10.0B DB (Enterprise)
::Progress OE 10.0B DB (Enterprise)+ Install: = c:\testapp\database
Port:5067
«Progress Licence»
Dev elopment :Progress OE Studio 10.0B
::Progress OE Studio 10.0B- Install: = d:\progress\100b
«Progress App»
Sports2000 :Sports2000
::Sports2000- Install: = c:\sports2000
«Progress Licence»
WebClient :Progress WebClient 10.0B
::Progress WebClient 10.0B- Install: = c:\webClient
Operating Systems::
Windows XP Professional
Installed
«deploy»
Requies
TCP/IP
Installed
Recommendation: Document your Deployments
IT Infrastructure Library - Planning
© 2006 Progress Software Corporation13COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation14COMP-14: Automating your deployments using ANT
Build• Identify items to be compiled to produce runtime
deliverables (e.g. r-code/procedure-libraries). Package
• Identify items to configure into a working system. Deploy
• Validate release package, approve it and deploy to production.
Deployment Components
© 2006 Progress Software Corporation15COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation16COMP-14: Automating your deployments using ANT
Deployment Components - Build
Private• System that an individual developer works against
(Development). Integration
• Code changes promoted into an integration workspace and built together (Test).
QA• Integration Build with goal of handing off the
deliverables to the test team for validation (UAT). Release
• Integration build with goal of being release into production. Must meet test criteria and be signed off for release (Live).©2006 All content is property of Ledbetter & Harp LLC. All rights reserved.
© 2006 Progress Software Corporation17COMP-14: Automating your deployments using ANT
Identify items to be built Begin the build (execute build scripts) Pipe output to log-file Review build results and address issues (Optional) Use smoke tests to validate core
functionality Label build and versions of source-code
used in build
Deployment Components - Build
Steps to executing a build
© 2006 Progress Software Corporation18COMP-14: Automating your deployments using ANT
Vertical Markets Customer Versions Localisation Platform Specifics …
Deployment Components - Build
Customised Builds
© 2006 Progress Software Corporation19COMP-14: Automating your deployments using ANT
Recommendation: Automate your build
Joel Spolsky, Joel On Software
“It’s crucial that everything it takes to make a final build is done by the daily build script. ”
© 2006 Progress Software Corporation20COMP-14: Automating your deployments using ANT
Recommendation: Run your builds often
Steve McConnell, Rapid Development
“Ensuring that the code base is always compilable and executable avoids running into integration problems at the end of a project. ”
© 2006 Progress Software Corporation21COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation22COMP-14: Automating your deployments using ANT
Add any additional items necessary for package (e.g. scripts, documents, help, configurations, etc)
Package items (e.g. zip, tar) Generate Release Note Migrate to appropriate region for testing
Deployment Components - Package
Version control deliverables
Commercial
© 2006 Progress Software Corporation23COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation24COMP-14: Automating your deployments using ANT
Deployment Components - Deploy
Finalise Release Notes Submit Change Request to modify
production baseline Review and Authorise release Communicate release date and contents to
stakeholders and support staff
© 2006 Progress Software Corporation25COMP-14: Automating your deployments using ANT
Roll-out plan (who, what, where, when, how) Contingency planning (roll-back) Communication
It’s more than just technology!
Deployment Components - Package
© 2006 Progress Software Corporation26COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation27COMP-14: Automating your deployments using ANT
Free & open-source (ant.apache.org) Written in Java – platform independent Scripts written in XML – can use any editor Performs many tasks (e.g. compile, copy, run
test scripts, CVS, …)
ANT - Overview
Apache Ant.
© 2006 Progress Software Corporation28COMP-14: Automating your deployments using ANT
Extension to ANT for OpenEdge Created by Gilles Querret
(Phenix Engineering – France) Allows…
• Run • Compile• Schema management• Procedure-Library• …
ANT - Overview
Progress Compile Tool (PCT)
© 2006 Progress Software Corporation29COMP-14: Automating your deployments using ANT
Agenda
Deployment and the Life-Cycle IT Infrastructure – Planning your Deployments Deployment Components
• Build
• Package
• Deploy
ANT• Overview
• Demonstration
© 2006 Progress Software Corporation30COMP-14: Automating your deployments using ANT
<project name=“myProject” default=“init”> <description>Example project</description>
<!-- set global properties for this build --> <property name=“build” location=“build”/>
<target name=“init”>
<!–- create a directory --> <mkdir dir=“${build}”/> </target>
</project>
Sample: ANT Script
© 2006 Progress Software Corporation31COMP-14: Automating your deployments using ANT
In Summary
Plan your Deployments Implement nightly builds Automate as much as
possible Implement ANT Migrate to OpenEdge
Architect
© 2006 Progress Software Corporation32COMP-14: Automating your deployments using ANT
Education / Documentation References
ANT http://ant.apache.org PCT http://pct.sourceforge.net ITIL http://www.itil.co.uk ITIL http://www/itil-itsm-world.com ANT/Eclipse Integration
http://publib.boulder.ibm.com/infocenter/wsad512/topic/org.eclipse.platform.doc.user/gettingStarted/qs-81_basics.htm
© 2006 Progress Software Corporation33COMP-14: Automating your deployments using ANT
Questions?
© 2006 Progress Software Corporation34COMP-14: Automating your deployments using ANT
Thank you foryour time
© 2006 Progress Software Corporation35COMP-14: Automating your deployments using ANT