Title: Creating An Automated Build and Deployment Infrastructure (using open source and duct tape)
1Franz Garsombke
2- Why Build and Deploy Automation?
- The Open Source Tools
- Maven2
- Hudson
- Proximity with Duct Tape
- Demonstration
- Questions/References
3Agile Software Development
Time to Market
1 to 6 months
Waterfall 12 to 36 months
Waterfall test
Waterfall deploy
Lifecycle
Working, tested code on short cycles
Waterfall documentation
Deliverables
4Check-Ins
SCM
New Functionality
Developer
Build
Builds
TesterPO
Feedback
5Check-Ins
SCM
New Functionality
Developer
Build
Feedback
Builds
Feedback
TestAutomation
Builds
Feedback
TesterPO
6- 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_at_yahoo.com
7Open Source Tools - Maven
- Module Inheritance
- Plugins (reporting, testing, deployment, etc.)
- Dependency Management
- Artifact Deployment
- Archetypes
- War Overlays
8Open Source Tools - Maven
9Open Source Tools - Maven
10- Extensible continuous integration engine
- Similar to CruiseControl, except that it easy to
use and entirely browser based - Job creation literally takes minutes
- Used as CI server and dedicated build machine
- Remote slaves
11(No Transcript)
12Open Source Tools - Proximity
- 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...).
ltrepositoriesgt ltrepositorygt
ltidgtcentrallt/idgt ltnamegtMaven Repository
Switchboardlt/namegt ltlayoutgtdefaultlt/layoutgt
lturlgthttp//host8081/proximity/repository/pub
liclt/urlgt lt/repositorygt lt/repositoriesgt
13Open Source Tools - Proximity
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.
14- Navigate Builds
- Give everyone a Test this Build button
- Allows Testers to Pull their work
Testers can Pull work
15Start Build
1
2
3
Deploy Build
4
5
16Artifact Dissection
- Build once, deploy everywhere
- maven assemble plugin
17- Convention over configuration
- Software build as environment-independent
encapsulated package - Removing manual barriers
- Integrate often
- I hate live demos!
fgarsombke_at_yahoo.com
18SITE 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_at_yahoo.com