SlideShare una empresa de Scribd logo
1 de 21
Personal	
  Continuous	
  Integration	
  

    Mark	
  Waite	
  –	
  DOSUG/DJUG	
  
                            May	
  11,	
  2011	
  
Con$nuous	
  Integra$on	
  
  Continuous	
  –	
  happening	
  all	
  the	
  time	
  
  Integration	
  –	
  combine	
  components	
  into	
  a	
  new	
  thing	
  
  Continuous	
  Integration	
  
      Change	
  the	
  code	
                              Change	
  
      Build	
  it	
  
      Test	
  it	
  
                                              Report	
                   Build	
  
      Report	
  Results	
  


                                                              Test	
  
Jenkins	
  for	
  Con$nuous	
  Integra$on	
  
  Jenkins	
  –	
  open	
  source	
  continuous	
  integration	
  server	
  
  Jenkins	
  (http://jenkins-­‐ci.org/)	
  is	
  
      Easy	
  to	
  install	
  
      Easy	
  to	
  use	
  
      Multi-­‐technology	
  
      Multi-­‐platform	
  
      Widely	
  used	
  
      Extensible	
  
      Free	
  
How	
  Easy	
  Is	
  It?	
  
  Less	
  than	
  5	
  minutes	
  to	
  
      Download	
  Jenkins	
  
      Install	
  Jenkins	
  
      Configure	
  my	
  job	
  
      Build	
  my	
  code	
  
      Run	
  my	
  tests	
  
  Watch	
  the	
  screencast	
  
     http://j.mp/jenkins-­‐in-­‐five-­‐minutes	
  
Jenkins	
  Knows	
  Your	
  Source	
  
  Version	
  Control	
  Systems	
  
      Accurev	
  
      Bazaar	
  
      BitKeeper	
  
      ClearCase	
  
      Darcs	
  
      Dimensions	
  
      Git	
  
      Harvest	
  
      MKS	
  Integrity	
  
      PVCS	
  
      StarTeam	
  
      Subversion	
  
      Team	
  Foundation	
  Server	
  
      Visual	
  SourceSafe	
  
Jenkins	
  Knows	
  Your	
  Build	
  
  Build	
  Tools	
  
      Ant	
  
      Maven	
  
      MSBuild	
  
      Make	
  
      Cmake	
  
      Scons	
  
      UNIX	
  Shell	
  
      Windows	
  batch	
  
      …	
  
Jenkins	
  Knows	
  Your	
  Tests	
  
  Test	
  Frameworks	
  
      Junit	
  
      Nunit	
  
      MSTest	
  
      TestNG	
  
      CppUnit	
  
      JSUnit	
  
      PHPUnit	
  
      Selenium	
  
      Fitnesse	
  
Jenkins	
  Knows	
  Your	
  Language	
  
  Jenkins	
  can	
  build	
  and	
  run	
  
      Java	
  
      C	
  
      Python	
  
      Ruby	
  
      Perl	
  
      PHP	
  
      Javascript	
  
      C#	
  
      …	
  
Jenkins	
  Improves	
  Your	
  Style	
  
  Static	
  Analysis	
  
      Checkstyle	
  
      CodeScanner	
  
      DRY	
  
      Crap4j	
  
      Findbugs	
  
      PMD	
  
      Fortify	
  
      Sonar	
  
      FXCop	
  
Jenkins	
  Improves	
  Your	
  Tests	
  
  Code	
  Coverage	
  
      Emma	
  
      Cobertura	
  
      Clover	
  
      GCC/GCOV	
  
      Coverage.py	
  
      …	
  
Jenkins	
  Fits	
  Your	
  Environment	
  
  Notification	
                 Authorization	
  
     Twitter	
                      Active	
  Directory	
  
     Campfire	
                      LDAP	
  
     Google	
  Calendar	
       Virtual	
  Machines	
  
     IM	
                           Amazon	
  EC2	
  
     IRC	
                          VMWare	
  
     Lava	
  Lamp	
                 VirtualBox	
  
     Sounds	
                       Xen	
  
     Speak	
                        Libvirt	
  
Jenkins:	
  Great	
  for	
  Teams	
  
  Build	
  
  Install	
  
  Configure	
  
  Test	
  
  Report	
  results	
  
But	
  Wait,	
  There’s	
  More…	
  
  Individuals	
  need	
  Jenkins	
  
      Free	
  
      Easy	
  
      Powerful	
  
Installing	
  Jenkins	
  
  Easy	
  to	
  install	
  
      Download	
  one	
  file	
  
           jenkins.war	
  
      Run	
  one	
  command	
  
           java	
  –jar	
  jenkins.war	
  
Installing	
  Jenkins	
  
  Easy	
  to	
  install	
  
      Use	
  your	
  package	
  manager	
  
          Windows	
  MSI	
  
          Debian/Ubuntu	
  apt	
  
          Red	
  Hat/CentOS	
  rpm	
  
          FreeBSD	
  pkg_add	
  
          Gentoo	
  emerge	
  
Using	
  Jenkins	
  
  Easy	
  to	
  use	
  
      Create	
  a	
  new	
  job	
  
      Build	
  now	
  
      See	
  results	
  
Using	
  Jenkins	
  
  Easy	
  to	
  use	
  
      Create	
  a	
  new	
  job	
  
      Build	
  now	
  
      See	
  results	
  
Using	
  Jenkins	
  
  Easy	
  to	
  use	
  
      Create	
  a	
  new	
  job	
  
      Build	
  now	
  
      See	
  results	
  
Using	
  Jenkins	
  
  Easy	
  to	
  use	
  
      Create	
  a	
  new	
  job	
  
      Build	
  now	
  
      See	
  results	
  
More	
  Power	
  –	
  Jenkins	
  Plugins	
  
  Jenkins	
  has	
  over	
  300	
  plugins	
  
      Software	
  configuration	
  management	
  
      Builders	
  
      Test	
  Frameworks	
  
      Virtual	
  Machine	
  Controllers	
  
      Notifiers	
  
      Static	
  Analyzers	
  
Jenkins for One

Más contenido relacionado

La actualidad más candente

Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Bamdad Dashtban
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
E. Camden Fisher
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
IndicThreads
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Marcel Birkner
 

La actualidad más candente (20)

TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé MochtarTestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
TestWorks Conf Scalable QA with docker - Maarten van den Ende and Adé Mochtar
 
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
How to Dockerize Parallel Execution of Selenium Tests - SQA Days EU, Rgia, La...
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
 
Improving Engineering Processes using Hudson - Spark IT 2010
Improving Engineering Processes using Hudson - Spark IT 2010Improving Engineering Processes using Hudson - Spark IT 2010
Improving Engineering Processes using Hudson - Spark IT 2010
 
Yale Jenkins Show and Tell
Yale Jenkins Show and TellYale Jenkins Show and Tell
Yale Jenkins Show and Tell
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019Run your Appium tests using Docker Android - AppiumConf 2019
Run your Appium tests using Docker Android - AppiumConf 2019
 
Selenium Grid & Docker - budowa środowiska do testów przeglądarkowych
Selenium Grid & Docker - budowa środowiska do testów przeglądarkowychSelenium Grid & Docker - budowa środowiska do testów przeglądarkowych
Selenium Grid & Docker - budowa środowiska do testów przeglądarkowych
 
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache MesosCI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
 
Jenkins & IaC
Jenkins & IaCJenkins & IaC
Jenkins & IaC
 
Jenkins auto configureforbranch-php
Jenkins auto configureforbranch-phpJenkins auto configureforbranch-php
Jenkins auto configureforbranch-php
 
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and JenkinsContinuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
Continuous Delivery in Enterprise Environments using Docker, Ansible and Jenkins
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
How Jenkins Builds the Netflix Global Streaming Service
How Jenkins Builds the Netflix Global Streaming ServiceHow Jenkins Builds the Netflix Global Streaming Service
How Jenkins Builds the Netflix Global Streaming Service
 
How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7How to Install and Configure Jenkins on Centos 7
How to Install and Configure Jenkins on Centos 7
 
Automated Infrastructure Testing
Automated Infrastructure TestingAutomated Infrastructure Testing
Automated Infrastructure Testing
 
Who *is* Jenkins?
Who *is* Jenkins?Who *is* Jenkins?
Who *is* Jenkins?
 
Automated test: How to increase his power
Automated test: How to increase his powerAutomated test: How to increase his power
Automated test: How to increase his power
 
Devops & linux administration
Devops & linux administrationDevops & linux administration
Devops & linux administration
 

Similar a Jenkins for One

Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Mark Waite
 
Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02
Praveen Pamula
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
Anton Arhipov
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptx
Anuj Sharma
 

Similar a Jenkins for One (20)

Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home builtJenkins - Continuous Integration after Hudson, CruiseControl, and home built
Jenkins - Continuous Integration after Hudson, CruiseControl, and home built
 
Jenkins For One
Jenkins For OneJenkins For One
Jenkins For One
 
Jenkins & Selenium
Jenkins & SeleniumJenkins & Selenium
Jenkins & Selenium
 
Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02Jenkins hudsonci-101002103143-phpapp02
Jenkins hudsonci-101002103143-phpapp02
 
Jenkins
JenkinsJenkins
Jenkins
 
Going literate in Amadeus JUC Berlin June 25th 2014
Going literate in Amadeus JUC Berlin June 25th 2014Going literate in Amadeus JUC Berlin June 25th 2014
Going literate in Amadeus JUC Berlin June 25th 2014
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous Deployment
 
Let’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkinsLet’s start Continuous Integration with jenkins
Let’s start Continuous Integration with jenkins
 
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
Jenkins, Bhyve, and Webdriver: Continuous Integration testing on FreeNAS by C...
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Jenkins- An open integration tool
Jenkins- An open integration toolJenkins- An open integration tool
Jenkins- An open integration tool
 
Continuous Delivery in Java
Continuous Delivery in JavaContinuous Delivery in Java
Continuous Delivery in Java
 
Jenkins talk at Silicon valley DevOps meetup
Jenkins talk at Silicon valley DevOps meetupJenkins talk at Silicon valley DevOps meetup
Jenkins talk at Silicon valley DevOps meetup
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2Pipeline as code - new feature in Jenkins 2
Pipeline as code - new feature in Jenkins 2
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptx
 

Más de Matthew McCullough

Más de Matthew McCullough (20)

Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge Interactive
 
All About GitHub Pull Requests
All About GitHub Pull RequestsAll About GitHub Pull Requests
All About GitHub Pull Requests
 
Adam Smith Builds an App
Adam Smith Builds an AppAdam Smith Builds an App
Adam Smith Builds an App
 
Git's Filter Branch Command
Git's Filter Branch CommandGit's Filter Branch Command
Git's Filter Branch Command
 
Git Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh MyGit Graphs, Hashes, and Compression, Oh My
Git Graphs, Hashes, and Compression, Oh My
 
Git and GitHub at the San Francisco JUG
 Git and GitHub at the San Francisco JUG Git and GitHub at the San Francisco JUG
Git and GitHub at the San Francisco JUG
 
Finding Things in Git
Finding Things in GitFinding Things in Git
Finding Things in Git
 
Git and GitHub for RallyOn
Git and GitHub for RallyOnGit and GitHub for RallyOn
Git and GitHub for RallyOn
 
Migrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHubMigrating from Subversion to Git and GitHub
Migrating from Subversion to Git and GitHub
 
Git Notes and GitHub
Git Notes and GitHubGit Notes and GitHub
Git Notes and GitHub
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Build Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUGBuild Lifecycle Craftsmanship for the Transylvania JUG
Build Lifecycle Craftsmanship for the Transylvania JUG
 
Git Going for the Transylvania JUG
Git Going for the Transylvania JUGGit Going for the Transylvania JUG
Git Going for the Transylvania JUG
 
Transylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting AnnouncementsTransylvania JUG Pre-Meeting Announcements
Transylvania JUG Pre-Meeting Announcements
 
Game Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUGGame Theory for Software Developers at the Boulder JUG
Game Theory for Software Developers at the Boulder JUG
 
Cascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUGCascading Through Hadoop for the Boulder JUG
Cascading Through Hadoop for the Boulder JUG
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
R Data Analysis Software
R Data Analysis SoftwareR Data Analysis Software
R Data Analysis Software
 
Please, Stop Using Git
Please, Stop Using GitPlease, Stop Using Git
Please, Stop Using Git
 
Dr. Strangedev
Dr. StrangedevDr. Strangedev
Dr. Strangedev
 

Último

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Último (20)

Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 

Jenkins for One

  • 1. Personal  Continuous  Integration   Mark  Waite  –  DOSUG/DJUG   May  11,  2011  
  • 2. Con$nuous  Integra$on     Continuous  –  happening  all  the  time     Integration  –  combine  components  into  a  new  thing     Continuous  Integration     Change  the  code   Change     Build  it     Test  it   Report   Build     Report  Results   Test  
  • 3. Jenkins  for  Con$nuous  Integra$on     Jenkins  –  open  source  continuous  integration  server     Jenkins  (http://jenkins-­‐ci.org/)  is     Easy  to  install     Easy  to  use     Multi-­‐technology     Multi-­‐platform     Widely  used     Extensible     Free  
  • 4. How  Easy  Is  It?     Less  than  5  minutes  to     Download  Jenkins     Install  Jenkins     Configure  my  job     Build  my  code     Run  my  tests     Watch  the  screencast     http://j.mp/jenkins-­‐in-­‐five-­‐minutes  
  • 5. Jenkins  Knows  Your  Source     Version  Control  Systems     Accurev     Bazaar     BitKeeper     ClearCase     Darcs     Dimensions     Git     Harvest     MKS  Integrity     PVCS     StarTeam     Subversion     Team  Foundation  Server     Visual  SourceSafe  
  • 6. Jenkins  Knows  Your  Build     Build  Tools     Ant     Maven     MSBuild     Make     Cmake     Scons     UNIX  Shell     Windows  batch     …  
  • 7. Jenkins  Knows  Your  Tests     Test  Frameworks     Junit     Nunit     MSTest     TestNG     CppUnit     JSUnit     PHPUnit     Selenium     Fitnesse  
  • 8. Jenkins  Knows  Your  Language     Jenkins  can  build  and  run     Java     C     Python     Ruby     Perl     PHP     Javascript     C#     …  
  • 9. Jenkins  Improves  Your  Style     Static  Analysis     Checkstyle     CodeScanner     DRY     Crap4j     Findbugs     PMD     Fortify     Sonar     FXCop  
  • 10. Jenkins  Improves  Your  Tests     Code  Coverage     Emma     Cobertura     Clover     GCC/GCOV     Coverage.py     …  
  • 11. Jenkins  Fits  Your  Environment     Notification     Authorization     Twitter     Active  Directory     Campfire     LDAP     Google  Calendar     Virtual  Machines     IM     Amazon  EC2     IRC     VMWare     Lava  Lamp     VirtualBox     Sounds     Xen     Speak     Libvirt  
  • 12. Jenkins:  Great  for  Teams     Build     Install     Configure     Test     Report  results  
  • 13. But  Wait,  There’s  More…     Individuals  need  Jenkins     Free     Easy     Powerful  
  • 14. Installing  Jenkins     Easy  to  install     Download  one  file     jenkins.war     Run  one  command     java  –jar  jenkins.war  
  • 15. Installing  Jenkins     Easy  to  install     Use  your  package  manager     Windows  MSI     Debian/Ubuntu  apt     Red  Hat/CentOS  rpm     FreeBSD  pkg_add     Gentoo  emerge  
  • 16. Using  Jenkins     Easy  to  use     Create  a  new  job     Build  now     See  results  
  • 17. Using  Jenkins     Easy  to  use     Create  a  new  job     Build  now     See  results  
  • 18. Using  Jenkins     Easy  to  use     Create  a  new  job     Build  now     See  results  
  • 19. Using  Jenkins     Easy  to  use     Create  a  new  job     Build  now     See  results  
  • 20. More  Power  –  Jenkins  Plugins     Jenkins  has  over  300  plugins     Software  configuration  management     Builders     Test  Frameworks     Virtual  Machine  Controllers     Notifiers     Static  Analyzers