COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.

Post on 28-Dec-2015

218 views 0 download

Tags:

Transcript of COMP-14: Automating your deployments using ANT Gary S Clink Business Consultant.

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