Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 •...

16
Jenkins February 11, 2013 @ChrisHirsch Griz Bates

Transcript of Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 •...

Page 1: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Jenkins

February 11, 2013

@ChrisHirsch Griz Bates

Page 2: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

History

February 11, 2013 2

• Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned” by Sun but they didn’t trademark the name • Once Oracle bought Sun, they claimed the name to Hudson • Community rallied and forked Hudson into Jenkins • Once that happened, the project took off and nobody has ever looked

back. • Don’t believe me? Google for Hudson and Google for Jenkins. •  http://jenkins-ci.org/

Page 3: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

License

February 12, 2013 3

• MIT •  http://opensource.org/licenses/MIT

–  Open, permissive,

Page 4: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Uses

February 11, 2013 4

• Continuous Build – Build your project on EACH CHECKIN • Continuous Testing – Run through unit tests on EACH CHECKIN • Continuous Release – Run through integration tests and possibly push

to production on EACH CHECKIN

Page 5: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Continuous Integration

February 11, 2013 5

• Continuous integration (CI) is the practice, in software engineering, of merging all developer workspaces with a shared mainline several times a day.

•  http://en.wikipedia.org/wiki/Continuous_integration

Page 6: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Continuous Deployment

February 11, 2013 6

•  http://en.wikipedia.org/wiki/Continuous_delivery

Page 7: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Plugins

February 11, 2013 7

•  http://wiki.jenkins-ci.org/display/JENKINS/Plugins • Must Have Plugins

–  Chuck Norris –  Beer Plugin –  Emotional Jenkins Plugin –  Lava Lamp –  Leader Board –  Sonar

Page 8: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Reporting

February 11, 2013 8

• Graphs can show pretty much anything • Build Failures • Code Coverage •  LOC Change (Sonar)

Page 9: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

I’m sold! Now What?

February 11, 2013 9

• Need to install • Bring up the UI • Create your project and you’re off!

Page 10: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Installation

February 12, 2013 10

/etc/yum.repos.d/jenkins.repo [jenkins] name=Jenkins baseurl=http://pkg.jenkins-ci.org/redhat gpgcheck=1 •  yum install jenkins • Updates are done though the GUI after that

Page 11: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Integration with Mercurial

February 12, 2013 11

[web] description = Web Services contact = A Developer <[email protected]> [hooks] pretxnchangegroup.PhpSyntax = /home/local/hg/hooks/phplint changegroup.jenkins = /home/local/hg/hooks/build-ci -b -u http://jenkins.mcafeesaas.com:8080 multiPlatformBuilder project=webService

Page 12: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Creating a Project

February 12, 2013 12

• Can be GUI driven or CLI/API • Choose your CM tool • Choose your build trigger •  http://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project

Page 13: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Jenkins API

February 12, 2013 13

• Retrieve Information from Jenkins •  Trigger a new build • Create/Copy Jobs •  http://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

Page 14: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Integrating your New Pi

February 12, 2013 14

• Grab your Pi’s and lets get crackin’ •  Lava Lamp Notifier • Stop Light Notifier •  Literally 100’s more

Page 15: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Let’s show it!

February 11, 2013 15

Page 16: Jenkins - cluedenver.orgcluedenver.org/presentations/Jenkins.pdf · History 2 February 11, 2013 • Hudson was a popular alternative to CruiseControl in 2008 • Hudson was “owned”

Questions?

February 11, 2013 16