Creating An Automated Build and Deployment Infrastructure

Post on 01-Nov-2014

2.575 views 1 download

Tags:

description

 

Transcript of Creating An Automated Build and Deployment Infrastructure

Franz Garsombke

fgarsombke@yahoo.com

Why Build and Deploy Automation?The Open Source Tools

Maven2 Hudson Proximity with Duct Tape

DemonstrationQuestions/References

fgarsombke@yahoo.com

fgarsombke@yahoo.com

Deliverables

Time to Market

LifecycleWaterfall

test

1 to 6 months Waterfall 12 to 36 months

Waterfall deploy

Working, tested code on short cycles Waterfall documentation

Agile Software Development

Developer

SCM

Build

TesterPO

Check-Ins

New Functionality

Builds

Feedback

Developer

SCM

Build

TesterPO

Check-InsNew Functionality

BuildsFeedback

Feedback

TestAutomation

BuildsFeedback

Maven is a software project management and comprehension tool

Using a project object model (POM), Maven can manage a project's build, reporting and documentation

Convention Over Configuration

Standardized Build Life Cycle

fgarsombke@yahoo.com

Module Inheritance

Plugins (reporting, testing, deployment, etc.)

Dependency Management

Artifact Deployment

Archetypes

War Overlays

fgarsombke@yahoo.com

fgarsombke@yahoo.com

fgarsombke@yahoo.com

Extensible continuous integration engine

Similar to CruiseControl, except that it easy to use and entirely browser based

Job creation literally takes minutesUsed as CI server and dedicated

build machineRemote slaves

fgarsombke@yahoo.com

fgarsombke@yahoo.com

Java web application which serves as Maven proxy

Acts as ‘one’ logical repository for publishing in-house and other external Maven artifacts which are not uploadable to Maven "central“ repository (like commercial projects, J2EE Jars, etc...).

fgarsombke@yahoo.com

<repositories> <repository> <id>central</id> <name>Maven Repository Switchboard</name> <layout>default</layout> <url>http://host:8081/proximity/repository/public</url> </repository> …</repositories>

fgarsombke@yahoo.com

And this is what all this built up to: the Class of 2002/2003 Winter Semi-Formal. I'm the one in the duct tape tuxedo, hat, pants, cane, and shoes. Only the cane (which is over a wooden dowel rod) and the shoes contain non-duct-tape components, everything else is 100% pure tape.

My date is Nicki *****, a friend from Math 223/224. Her complete outfit (not everything pictured here) includes the dress, a handbag, a bow (for her hair), and a duct tape rose. Again, with the exception of the wire stem used in the rose, everything is 100% pure duct tape.

Navigate Builds Give everyone a “Test this Build” button Allows Testers to Pull their work

Testers can Pull work

fgarsombke@yahoo.com

Start Build

Deploy Build

1 23

4 5

Build once, deploy everywheremaven assemble plugin

fgarsombke@yahoo.com

Artifact Dissection

Convention over configurationSoftware build as environment-

independent encapsulated packageRemoving manual barriers Integrate often I hate live demos!

fgarsombke@yahoo.com

fgarsombke@yahoo.com

SITE URL

Hudson http://hudson.dev.java.net/

Maven http://maven.apache.org/

Proximity http://proximity.abstracthorizon.org/

Sourceforge Proximity Deploy

http://sourceforge.net/projects/proximitydeploy

Me fgarsombke@yahoo.com