COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant
© 2006 Progress Software Corporation2 COMP-14: Automating your deployments using ANT P R E F A C E Introduction P R E F A C E
© 2006 Progress Software Corporation3 COMP-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 Corporation4 COMP-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 Corporation5 COMP-14: Automating your deployments using ANT Deployment and the Life-Cycle
© 2006 Progress Software Corporation6 COMP-14: Automating your deployments using ANT Deployment Deployment and the Life-Cycle
© 2006 Progress Software Corporation7 COMP-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 Corporation8 COMP-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 Corporation9 COMP-14: Automating your deployments using ANT IT Infrastructure Library - Planning
© 2006 Progress Software Corporation10 COMP-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 Corporation11 COMP-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 Corporation12 COMP-14: Automating your deployments using ANT Recommendation: Document your Deployments IT Infrastructure Library - Planning
© 2006 Progress Software Corporation13 COMP-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 Corporation14 COMP-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 Corporation15 COMP-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 Corporation16 COMP-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 Corporation17 COMP-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 Corporation18 COMP-14: Automating your deployments using ANT Vertical Markets Customer Versions Localisation Platform Specifics … Deployment Components - Build Customised Builds
© 2006 Progress Software Corporation19 COMP-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 Corporation20 COMP-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 Corporation21 COMP-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 Corporation22 COMP-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 Corporation23 COMP-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 Corporation24 COMP-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 Corporation25 COMP-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 Corporation26 COMP-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 Corporation27 COMP-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 Corporation28 COMP-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 Corporation29 COMP-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 Corporation30 COMP-14: Automating your deployments using ANT Example project Sample: ANT Script
© 2006 Progress Software Corporation31 COMP-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 Corporation32 COMP-14: Automating your deployments using ANT Education / Documentation References ANT PCT ITIL ITIL ANT/Eclipse Integration 512/topic/org.eclipse.platform.doc.user/gettin gStarted/qs-81_basics.htm 512/topic/org.eclipse.platform.doc.user/gettin gStarted/qs-81_basics.htm
© 2006 Progress Software Corporation33 COMP-14: Automating your deployments using ANT Questions?
© 2006 Progress Software Corporation34 COMP-14: Automating your deployments using ANT Thank you for your time
© 2006 Progress Software Corporation35 COMP-14: Automating your deployments using ANT