Creating An Automated Build and Deployment Infrastructure

2,168 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,168
On SlideShare
0
From Embeds
0
Number of Embeds
144
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Creating An Automated Build and Deployment Infrastructure

    1. 1. Franz Garsombke [email_address]
    2. 2. <ul><li>Why Build and Deploy Automation? </li></ul><ul><li>The Open Source Tools </li></ul><ul><ul><li>Maven2 </li></ul></ul><ul><ul><li>Hudson </li></ul></ul><ul><ul><li>Proximity with Duct Tape </li></ul></ul><ul><li>Demonstration </li></ul><ul><li>Questions/References </li></ul>[email_address]
    3. 3. [email_address] Deliverables Time to Market Lifecycle Waterfall test 1 to 6 months Waterfall 12 to 36 months Waterfall deploy Working, tested code on short cycles Waterfall documentation Agile Software Development
    4. 4. Developer SCM Build Tester PO Check-Ins New Functionality Builds Feedback
    5. 5. Developer SCM Build Tester PO Check-Ins New Functionality Builds Feedback Feedback Test Automation Builds Feedback
    6. 6. <ul><li>Maven is a software project management and comprehension tool </li></ul><ul><li>Using a project object model (POM), Maven can manage a project's build, reporting and documentation </li></ul><ul><li>Convention Over Configuration </li></ul><ul><li>Standardized Build Life Cycle </li></ul>[email_address]
    7. 7. <ul><li>Module Inheritance </li></ul><ul><li>Plugins (reporting, testing, deployment, etc.) </li></ul><ul><li>Dependency Management </li></ul><ul><li>Artifact Deployment </li></ul><ul><li>Archetypes </li></ul><ul><li>War Overlays </li></ul>[email_address]
    8. 8. [email_address]
    9. 9. [email_address]
    10. 10. <ul><li>Extensible continuous integration engine </li></ul><ul><li>Similar to CruiseControl, except that it easy to use and entirely browser based </li></ul><ul><li>Job creation literally takes minutes </li></ul><ul><li>Used as CI server and dedicated build machine </li></ul><ul><li>Remote slaves </li></ul>[email_address]
    11. 11. [email_address]
    12. 12. <ul><li>Java web application which serves as Maven proxy </li></ul><ul><li>Acts as ‘one’ logical repository for publishing in-house and other external Maven artifacts which are not uploadable to Maven &quot;central“ repository (like commercial projects, J2EE Jars, etc...). </li></ul>[email_address] <repositories> <repository> <id>central</id> <name>Maven Repository Switchboard</name> <layout>default</layout> <url>http://host:8081/proximity/repository/public</url> </repository> … </repositories>
    13. 13. [email_address] 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. 14. <ul><li>Navigate Builds </li></ul><ul><li>Give everyone a “Test this Build” button </li></ul><ul><li>Allows Testers to Pull their work </li></ul>Testers can Pull work
    15. 15. [email_address] Start Build Deploy Build 1 2 3 4 5
    16. 16. <ul><li>Build once, deploy everywhere </li></ul><ul><li>maven assemble plugin </li></ul>[email_address] Artifact Dissection
    17. 17. <ul><li>Convention over configuration </li></ul><ul><li>Software build as environment-independent encapsulated package </li></ul><ul><li>Removing manual barriers </li></ul><ul><li>Integrate often </li></ul><ul><li>I hate live demos! </li></ul>[email_address]
    18. 18. [email_address] 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 [email_address]

    ×