Apache Continuum Build, Test, and Release

2,289 views
2,082 views

Published on

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

No Downloads
Views
Total views
2,289
On SlideShare
0
From Embeds
0
Number of Embeds
161
Actions
Shares
0
Downloads
47
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Apache Continuum Build, Test, and Release

  1. 1. Apache Continuum Build, Test, and Release Wendy Smoak ApacheCon Europe March 27, 2009
  2. 2. Wendy Smoak • Member, The Apache Software Foundation • Committer, Apache Continuum, Archiva, Struts, Tiles, Maven, ... • Solutions Architect, G2iX wsmoak@apache.org http://wsmoak.net 2
  3. 3. How many... 3
  4. 4. Continuous Integration 4
  5. 5. Continuous Integration ... is a software development practice in which members of a team integrate their work frequently. Usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including tests). http://www.martinfowler.com/articles/continuousIntegration.html 5
  6. 6. Continuous Integration check in notify build test 6
  7. 7. Why CI? • Save time • Increase visibility • Improve coverage 7
  8. 8. Apache Continuum 8
  9. 9. Apache Continuum • Apache top-level project • More than CI... • Role-based Access Control • Release Management • Parallel and Distributed Builds • Configurable JVM Wrapper 9
  10. 10. Prerequisites • Java SE 5 • Maven, Ant, Script • Subversion, CVS, Git • Tests! 10
  11. 11. Demo • Download • Build Queues • Install • Release • Start and Stop • Project Groups • Configure • Users and Roles • Build Definitions • Notifiers • Build Environments • JVM Wrapper • Build Schedules • XML-RPC 11
  12. 12. Download http://continuum.apache.org 12
  13. 13. Install • Unpack the distribution • Continuum + Jetty + Derby $ ls LICENSE apps conf derby.log logs NOTICE bin data lib tmp 13
  14. 14. Pre-Configure • conf/jetty.xml • Port number • SMTP config • Data sources 14
  15. 15. Start • bin/continuum start • Automatically detects platform • Windows • bin/continuum.bat console --or-- • bin/continuum.bat install (as a service) 15
  16. 16. Demo Setup svn.example.com build.example.com httpd + mod_dav_svn Continuum + Jetty running locally running locally repo.example.com command line Archiva + Jetty developer workstation running locally 16
  17. 17. Demo! 17
  18. 18. Admin User 18
  19. 19. Configure 19
  20. 20. Add Projects • Maven 2 • Ant • Maven 1 • Shell Script 20
  21. 21. Project Groups • Logical group of projects • Multi-module Maven project 21
  22. 22. Build • Build all projects • Order is determined by dependencies • Build one or more projects 22
  23. 23. View Results • Build status • Build output • Test results • Working copy 23
  24. 24. Release • Web interface • Prepare, then Perform • Consistent environment 24
  25. 25. End Demo 25
  26. 26. Installations • Environment Variable var=value • Tool (Ant, Maven, JDK) JDK Maven 26
  27. 27. Build Environments Build Environment JDK Maven var=value 27
  28. 28. Build Schedules Schedule When to run • Hourly by default Max time • crontab format Build Queue(s) 28
  29. 29. Build Definitions • Build file such as pom.xml • goals and arguments • Schedule • Build Environment 29
  30. 30. Build Queues Build Queue 1 • For parallel builds Build Queue 2 • Associated with Schedules 30
  31. 31. Notifiers • Email, IRC, MSN, Jabber, Wagon • Configure in Maven pom.xml • Add directly to Continuum • Can notify the latest committers 31
  32. 32. Parallel Builds 32
  33. 33. Distributed Builds 33
  34. 34. Users • Self registration • Per-project roles • Web based • Configurable security rules 34
  35. 35. XML-RPC • Control Continuum from external scripts or programs • Java examples available 35
  36. 36. JVM Wrapper • conf/wrapper.conf • http://wrapper.tanukisoftware.org 36
  37. 37. SCM Support http://docs.codehaus.org/display/SCM/SCM+Matrix 37
  38. 38. Alternatives • Bamboo (Atlassian) • Cruise Control (Thoughtworks) • Hudson • ... and many others http://damagecontrol.codehaus.org/Continuous+Integration+Server+Feature+Matrix 38
  39. 39. What’s coming? • Plugin architecture • Hosting project websites • ... what do you need? 39
  40. 40. Where we need help • Discussing and coding features and fixes • UI Design and Usability • Writing documentation • Testing - JUnit, TestNG, Selenium 40
  41. 41. Where you can find us • http://continuum.apache.org • users@continuum.apache.org • #continuum on irc.codehaus.org • Here at ApacheCon! 41
  42. 42. Questions? 42
  43. 43. Apache Continuum Build, Test, and Release Wendy Smoak ApacheCon Europe March 27, 2009

×