See Build,         See Build Run            Run Build RunHudson - Continuous IntegrationVincent Batts vbatts@gmail.comSELF...
Outline●   What is it?●   Why would I want it, or anything like it?●   How do I get it going?●   Can it whistle while it t...
What is it?Continuous Integration
Continuous IntegrationProject started by Kohsuke KawaguchiIntegration Principles      Single Repository      Performance  ...
Why would I want it, or anything like it?●   $> whoami●   Automating build related functions●   Integrated Information
$> whoamiSoftware Projects      Open source      Commercial      OtherwiseDistributionsPackage Maintainers
$> whoamiSkill level needed      n00bs      to      L33t haxor      to      professionals
Automating build related processGet latest codeBuild itPackage itDeploy itTest and analyze it
Integrated InformationComments on commitsLinks to the related bugs/ticketsSource code changesTrends     –   Graphed build ...
How do I get it started?Quickly :)$> wget http://hudson-ci.org/latest/hudson.war$> java -jar hudson.war [--help] [--daemon...
How do I get it started?Quickly :)$> wget http://hudson-ci.org/latest/hudson.war$> java -jar hudson.war [--help] [--daemon...
How do I get it started?Standalone    (default port 8080)    as a limited user    as an init daemonjava applet    within a...
Source code integrationsvncvslocal file systemor install plugins (git, perforce, bzr, etc.)
Build StepsShell ( sha-bang if you want )apache-ant targetsmaven targetswindows batchor install plugins (rake, python, sco...
OptionsSchedulingPublishing of Artifacts       Maven       plugins              ●   SCP              ●   FTPBuild order   ...
Can it whistle while it twurks?Distributed BuildsExtendabilityMultiple Build EnvironmentsIntegration
Distributed BuildsMultiple Nodes   –   Platform Independent Slaves   –   PXE boot   –   Virtual machinesdistccicecream
Extendability240+ plugins point and click ready       and super APIs to write your own
Multiple Build Environments●   Globally available build tools●   Job level environments
IntegrationIDE (netbeans, eclipse)Bug tracking    Bugzilla (default)    Pluginable        ●   Jira        ●   Redmine     ...
WORK IT!ArchitectureNotificationsRights and Access
ArchitectureSingle machine or manyScalable on servers,    but easy to repurpose unused     machines
Talk to meRSSemailtwitterIRCJabber
Rights and AccessOpen (no users)LDAPUnix users/groupsPlugins for    ActiveDirectory    Mysql database of users
Rights and AccessEveryone can do everythingOnly logged users can manageMatrices of rights (Global or Project)
Recap●   What is it?●   Why would I want it, or anything like it?●   How do I get it going?●   Can it whistle while it twu...
Questions?
LinksOfficial site - http://hudson-ci.org/Documentation (wiki) - http://wiki.hudson-ci.org/apache-tomcat - http://tomcat.a...
Upcoming SlideShare
Loading in …5
×

See Hudson Run, Run Hudson, Run [SELF 2010]

399 views

Published on

Spartanburg, SC, USA

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

No Downloads
Views
Total views
399
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Often referred to as a build engine of sorts. The name is derived from having an automated engine to offload software builds for the user, to the machine. Thus it is continuously integrated in the software development process. These days, most of them are WebUI's
  • Virtual machine plugins, for VirtualBox and vmware, as well as the standard ssh slave agents.
  • Protocols like IRC and jabber can also serve as triggers as well.
  • See Hudson Run, Run Hudson, Run [SELF 2010]

    1. 1. See Build, See Build Run Run Build RunHudson - Continuous IntegrationVincent Batts vbatts@gmail.comSELF 2010
    2. 2. Outline● What is it?● Why would I want it, or anything like it?● How do I get it going?● Can it whistle while it twurks?● WORK IT!
    3. 3. What is it?Continuous Integration
    4. 4. Continuous IntegrationProject started by Kohsuke KawaguchiIntegration Principles Single Repository Performance VisibilityUnified UI to manage builds
    5. 5. Why would I want it, or anything like it?● $> whoami● Automating build related functions● Integrated Information
    6. 6. $> whoamiSoftware Projects Open source Commercial OtherwiseDistributionsPackage Maintainers
    7. 7. $> whoamiSkill level needed n00bs to L33t haxor to professionals
    8. 8. Automating build related processGet latest codeBuild itPackage itDeploy itTest and analyze it
    9. 9. Integrated InformationComments on commitsLinks to the related bugs/ticketsSource code changesTrends – Graphed build time – Weather forecast of build stabilityHistory – Statistics – Console output – Build artifacts
    10. 10. How do I get it started?Quickly :)$> wget http://hudson-ci.org/latest/hudson.war$> java -jar hudson.war [--help] [--daemon]$> firefox http://localhost:8080/
    11. 11. How do I get it started?Quickly :)$> wget http://hudson-ci.org/latest/hudson.war$> java -jar hudson.war [--help] [--daemon]$> firefox http://localhost:8080/Start playing first, then customize to meet your needs
    12. 12. How do I get it started?Standalone (default port 8080) as a limited user as an init daemonjava applet within an servlet engine like apache-tomcat
    13. 13. Source code integrationsvncvslocal file systemor install plugins (git, perforce, bzr, etc.)
    14. 14. Build StepsShell ( sha-bang if you want )apache-ant targetsmaven targetswindows batchor install plugins (rake, python, scons, etc.)
    15. 15. OptionsSchedulingPublishing of Artifacts Maven plugins ● SCP ● FTPBuild order Package chains Testing sequences
    16. 16. Can it whistle while it twurks?Distributed BuildsExtendabilityMultiple Build EnvironmentsIntegration
    17. 17. Distributed BuildsMultiple Nodes – Platform Independent Slaves – PXE boot – Virtual machinesdistccicecream
    18. 18. Extendability240+ plugins point and click ready and super APIs to write your own
    19. 19. Multiple Build Environments● Globally available build tools● Job level environments
    20. 20. IntegrationIDE (netbeans, eclipse)Bug tracking Bugzilla (default) Pluginable ● Jira ● Redmine ● Mantis ● trac
    21. 21. WORK IT!ArchitectureNotificationsRights and Access
    22. 22. ArchitectureSingle machine or manyScalable on servers, but easy to repurpose unused machines
    23. 23. Talk to meRSSemailtwitterIRCJabber
    24. 24. Rights and AccessOpen (no users)LDAPUnix users/groupsPlugins for ActiveDirectory Mysql database of users
    25. 25. Rights and AccessEveryone can do everythingOnly logged users can manageMatrices of rights (Global or Project)
    26. 26. Recap● What is it?● Why would I want it, or anything like it?● How do I get it going?● Can it whistle while it twurks?● WORK IT!
    27. 27. Questions?
    28. 28. LinksOfficial site - http://hudson-ci.org/Documentation (wiki) - http://wiki.hudson-ci.org/apache-tomcat - http://tomcat.apache.org/hudson-eclipse - http://code.google.com/p/hudson-eclipse/Kohsuke Kawaguchis blog - http://kohsuke.org/$> wget http://hudson-ci.org/latest/hudson.war$> java -jar hudson.war [--help]$> firefox http://localhost:8080/

    ×