SlideShare una empresa de Scribd logo
1 de 18
Berlin Expert Days 2013
      Enjoy Code Review Again
      Marrying Gerrit with Jenkins in 20 Minutes



       Johannes Nicolai
       Development Manager, CollabNet
       Dharmesh Sheta
       Software Engineer, CollabNet
       CollabNet Engineering Office, Potsdam, Germany




ENTERPRISE CLOUD DEVELOPMENT
1                                   Copyright ©2012 CollabNet, Inc. All Rights Reserved.
CollabNet In One Slide




2                      Copyright ©2012 CollabNet, Inc. All Rights Reserved.
3   Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Agenda
    • What is Code Review?
    • The Joy in Code Review
    • The Pain in Code Review
    • Enjoy Code Review Again: Introducing Gerrit and Jenkins
    • Demo Workflow Explained
    • Live Demo
    • Resources
    • Q&A




4                        Copyright ©2012 CollabNet, Inc. All Rights Reserved.
What is Code Review?
    “Code review is systematic examination (often known as peer
    review) of computer source code. […] Reviews are done in
    various forms such as pair programming, informal
    walkthroughs, and formal inspections.” [1]
    We will not cover formal inspections methods and pair
    programming here but concentrate on informal walk
    throughs, typically referred as Informal Peer review
    “In software development, peer review is a type of software
    review in which a work product (document, code, or other) is
    examined by its author and one or more colleagues, in order to
    evaluate its technical content and quality.” [2]
    [1] Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. p. 260. ISBN 0-470-
    04212-5.

    [2] http://en.wikipedia.org/wiki/Software_peer_review




5                                                            Copyright ©2012 CollabNet, Inc. All Rights Reserved.
The Joy in Code Review
    • Code review can be used very early in the process
                         Phase                                       Recovery Prospects Success Factor
                         Early Planning                              Excellent                                 95 %
                         Requirements                                Excellent                                 90 %
                         Initial Design                              Very Good                                 80 %
                         Detail Design                               Good                                      65 %
                         Coding                                      Fair                                      45 %
                         Integration                                 Poor                                      30 %
                         Testing                                     Very Poor                                 15 %
                         Deployment                                  Non existent                              0%
                         Maintenance                                 Non existent                              0%
    [3] Caspers Jones, Patterns of Software Systems Failure and Success




6                                                             Copyright ©2012 CollabNet, Inc. All Rights Reserved.
The Joy in Code Review
    • Peer review does not only apply to executable source code
     – Design/requirement specifications
     – Documentation
     – XML schema
    • Some quality aspects can only be verified using code review
     – Readability/changeability of the code
     – Meaningful qualifiers / object names / functions
    • Great source for knowledge transfer and early
      design/architecture conflict detection




7                            Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Code Review Efficiency compared to other methods [5]




8                     Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Code Review Costs compared to other methods [5]




9                    Copyright ©2012 CollabNet, Inc. All Rights Reserved.
The Pain in Code Review
     • Less than 50 percent of software applications are developed using code review [5]
       [5] C. Jones, The Economics of Software Quality, Capers Jones, Olivier Bonsignour and Jitendra Subramanyam, Addison-Wesley Longman, 2011



     • Ego challenges – Welcome to the world of gamification (after talk)
     • Half baked review requests killing motivation – ‘The demo tape problem‘
       – Many code review requests do not meet basic quality gates
                 •    Compiles/builds
                 •    Passes unit / integration tests
                 •    Meets coding standards and metrics
                 •    No IP violations

     • Review Tool challenges – ‘Context switching par excellence‘
       –      Creating patches
       –      Uploading patches
       –      Inspecting patches
       –      Downloading patches
       –      Applying patches
       –      Building patches
       –      Providing feedback
       –      Reworking patches
       –      Merging patches




10                                                                                  Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Gerrit = Widely Used Git Server + Code Review Tool
     • 100% pure Java SSH and HTTP Git backend
      – Scalable and suitable for large Enterprises
     • Web-based and Command Line administration
      – Users and Groups
      – Project and branch security (read and write)
     • Collaboration and Code-review
      – B2B integration at code-level
      – Communicate and share code knowledge in the Team
      – Enforce workflow and code quality
     • The most successful open source code review
      – Android OS
      – Eclipse, OpenStack, Qt, CouchDB and many others


11                            Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Who’s Using Gerrit in Production Today?




                                                                          source: Wikipedia


12                 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Jenkins = Most popular Open Source CI
     • Has hundreds of plugins to
       –   Interact with various SCMs (Git, SVN, CVS, …)
       –   Build software (ant, maven, gradle, make)
       –   Run unit/integration tests (JUnit, Selenium, …)
       –   Perform static code analysis
           (findbugs, checkstyle, PMS, Sonar, …)


     • Works brilliantly together with Gerrit over
       Gerrit Trigger Plugin
       – Keeps ssh connection open to learn about new
         review requests immediatly
       – Builds and verifies all configures quality gates
         (tests, coding conventions, code KPIs, you name it)
       – Sets ‘verified’ flag in review request according to
         result of verification build (either +1 or -1)
       – If Jenkins sets -1, then further code review isn’t
         possible, developer has to either re-work or
         abandon change

13                                   Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Tackling half baked review requests:
 Marrying Gerrit and Jenkins
                  CI Build: OK                                                                            CI Build: OK


                                                                                                                    master
      A1                                                                                      C2*

                                 Verified: -1                        Verified: +1
                                 (build failed)                      (build OK)



                  C2                              C2*                                                        refs/for/master
                                                                                           Reviewed: +2




           push                        push




                                                                                                                      local
     A1           C2                              C2*                                                                master



14                                  Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Learn More

 CollabNet DVD for BED
 TeamForge + Gerrit Data Sheet




 Git Blogs
 http://blogs.collab.net/git




 Software Downloads (TeamForge, Git + clients)
 http://www.collab.net/git




15                               Copyright ©2012 CollabNet, Inc. All Rights Reserved.
Q&A




16    Copyright ©2012 CollabNet, Inc. All Rights Reserved.
TeamForge = Enterprise-Grade Git Mgmt. + ALM


                                           Gerrit
    Basic SCM features                                                               Protection
    jGit engine                                                                      Code Quality
                               Advanced Git security                                 Control
    Native engine
                               Git Projects organization                             IT standard compliance
    GitWeb
                               Code-review                                           ALM integration
                               Replication                                           Hybrid SCM




 With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the
 benefits of Git, without compromising governance, security and compliance.




17                          Copyright ©2012 CollabNet, Inc. All Rights Reserved.
The technical details we shield users from




18                  Copyright ©2012 CollabNet, Inc. All Rights Reserved.

Más contenido relacionado

La actualidad más candente

Introducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPCIntroducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPCDVClub
 
Adapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsAdapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsIBM UrbanCode Products
 
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...RIF-Technology
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
How we build quality software at uSwitch.com
How we build quality software at uSwitch.comHow we build quality software at uSwitch.com
How we build quality software at uSwitch.comhemalkuntawala
 
Relay health build system
Relay health build systemRelay health build system
Relay health build systemroncordell
 
Build & Release Engineering
Build & Release Engineering Build & Release Engineering
Build & Release Engineering Pranesh Vittal
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleChris Sterling
 
PL/SQL Development
PL/SQL DevelopmentPL/SQL Development
PL/SQL DevelopmentThanh Nguyen
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next
 
How to-catch-a-chameleon-steven seeley-ruxcon-2012
How to-catch-a-chameleon-steven seeley-ruxcon-2012How to-catch-a-chameleon-steven seeley-ruxcon-2012
How to-catch-a-chameleon-steven seeley-ruxcon-2012_mr_me
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Real-Time Innovations (RTI)
 
bryan-j.-reinbolt-resume_STE
bryan-j.-reinbolt-resume_STEbryan-j.-reinbolt-resume_STE
bryan-j.-reinbolt-resume_STEBryan Reinbolt
 
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)Stefan Koopmanschap
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileWee Witthawaskul
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectAgileSparks
 

La actualidad más candente (20)

Introducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPCIntroducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPC
 
Adapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex ApplicationsAdapting Deployment Pipelines for Complex Applications
Adapting Deployment Pipelines for Complex Applications
 
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Amit_Resume
Amit_ResumeAmit_Resume
Amit_Resume
 
How we build quality software at uSwitch.com
How we build quality software at uSwitch.comHow we build quality software at uSwitch.com
How we build quality software at uSwitch.com
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
 
Build & Release Engineering
Build & Release Engineering Build & Release Engineering
Build & Release Engineering
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
 
PL/SQL Development
PL/SQL DevelopmentPL/SQL Development
PL/SQL Development
 
Real World TDD
Real World TDDReal World TDD
Real World TDD
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
How to-catch-a-chameleon-steven seeley-ruxcon-2012
How to-catch-a-chameleon-steven seeley-ruxcon-2012How to-catch-a-chameleon-steven seeley-ruxcon-2012
How to-catch-a-chameleon-steven seeley-ruxcon-2012
 
Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...Model Based Systems and Software Engineering an overview of the IBM Rational ...
Model Based Systems and Software Engineering an overview of the IBM Rational ...
 
bryan-j.-reinbolt-resume_STE
bryan-j.-reinbolt-resume_STEbryan-j.-reinbolt-resume_STE
bryan-j.-reinbolt-resume_STE
 
TDD anche su iOS
TDD anche su iOSTDD anche su iOS
TDD anche su iOS
 
The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)The Power Of Refactoring (PHPCon Italia)
The Power Of Refactoring (PHPCon Italia)
 
Manual testing1
Manual testing1Manual testing1
Manual testing1
 
Building Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed AgileBuilding Mobile (app) Masterpiece with Distributed Agile
Building Mobile (app) Masterpiece with Distributed Agile
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defect
 

Similar a Marrying Jenkins and Gerrit-Berlin Expert Days 2013

xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...DevOps for Enterprise Systems
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Intland Software GmbH
 
Implementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software QualityImplementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software QualityRocket Software
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Intland Software GmbH
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Seng 123 1-concepts
Seng 123 1-conceptsSeng 123 1-concepts
Seng 123 1-conceptsAtilla Elçi
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Delta-N
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionajayrajaganeshkayala
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM toolsLarry Cai
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessHuib Schoots
 
Delivering the Dude: Continuous X
Delivering the Dude: Continuous XDelivering the Dude: Continuous X
Delivering the Dude: Continuous XBrent Pabst
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11julSantosh Ojha
 

Similar a Marrying Jenkins and Gerrit-Berlin Expert Days 2013 (20)

xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
 
Implementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software QualityImplementing Continuous Integration to Improve Software Quality
Implementing Continuous Integration to Improve Software Quality
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Seng 123 1-concepts
Seng 123 1-conceptsSeng 123 1-concepts
Seng 123 1-concepts
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
Gerrit Code Review
Gerrit Code ReviewGerrit Code Review
Gerrit Code Review
 
Intsoc2
Intsoc2Intsoc2
Intsoc2
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
CI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual interventionCI, CD -Tools to integrate without manual intervention
CI, CD -Tools to integrate without manual intervention
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM tools
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
 
Delivering the Dude: Continuous X
Delivering the Dude: Continuous XDelivering the Dude: Continuous X
Delivering the Dude: Continuous X
 
DevOps in an Embedded World
DevOps in an Embedded WorldDevOps in an Embedded World
DevOps in an Embedded World
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
Hyd virtual meetupslides11jul
Hyd virtual meetupslides11julHyd virtual meetupslides11jul
Hyd virtual meetupslides11jul
 

Último

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Marrying Jenkins and Gerrit-Berlin Expert Days 2013

  • 1. Berlin Expert Days 2013 Enjoy Code Review Again Marrying Gerrit with Jenkins in 20 Minutes Johannes Nicolai Development Manager, CollabNet Dharmesh Sheta Software Engineer, CollabNet CollabNet Engineering Office, Potsdam, Germany ENTERPRISE CLOUD DEVELOPMENT 1 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 2. CollabNet In One Slide 2 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 3. 3 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 4. Agenda • What is Code Review? • The Joy in Code Review • The Pain in Code Review • Enjoy Code Review Again: Introducing Gerrit and Jenkins • Demo Workflow Explained • Live Demo • Resources • Q&A 4 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 5. What is Code Review? “Code review is systematic examination (often known as peer review) of computer source code. […] Reviews are done in various forms such as pair programming, informal walkthroughs, and formal inspections.” [1] We will not cover formal inspections methods and pair programming here but concentrate on informal walk throughs, typically referred as Informal Peer review “In software development, peer review is a type of software review in which a work product (document, code, or other) is examined by its author and one or more colleagues, in order to evaluate its technical content and quality.” [2] [1] Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. p. 260. ISBN 0-470- 04212-5. [2] http://en.wikipedia.org/wiki/Software_peer_review 5 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 6. The Joy in Code Review • Code review can be used very early in the process Phase Recovery Prospects Success Factor Early Planning Excellent 95 % Requirements Excellent 90 % Initial Design Very Good 80 % Detail Design Good 65 % Coding Fair 45 % Integration Poor 30 % Testing Very Poor 15 % Deployment Non existent 0% Maintenance Non existent 0% [3] Caspers Jones, Patterns of Software Systems Failure and Success 6 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 7. The Joy in Code Review • Peer review does not only apply to executable source code – Design/requirement specifications – Documentation – XML schema • Some quality aspects can only be verified using code review – Readability/changeability of the code – Meaningful qualifiers / object names / functions • Great source for knowledge transfer and early design/architecture conflict detection 7 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 8. Code Review Efficiency compared to other methods [5] 8 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 9. Code Review Costs compared to other methods [5] 9 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 10. The Pain in Code Review • Less than 50 percent of software applications are developed using code review [5] [5] C. Jones, The Economics of Software Quality, Capers Jones, Olivier Bonsignour and Jitendra Subramanyam, Addison-Wesley Longman, 2011 • Ego challenges – Welcome to the world of gamification (after talk) • Half baked review requests killing motivation – ‘The demo tape problem‘ – Many code review requests do not meet basic quality gates • Compiles/builds • Passes unit / integration tests • Meets coding standards and metrics • No IP violations • Review Tool challenges – ‘Context switching par excellence‘ – Creating patches – Uploading patches – Inspecting patches – Downloading patches – Applying patches – Building patches – Providing feedback – Reworking patches – Merging patches 10 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 11. Gerrit = Widely Used Git Server + Code Review Tool • 100% pure Java SSH and HTTP Git backend – Scalable and suitable for large Enterprises • Web-based and Command Line administration – Users and Groups – Project and branch security (read and write) • Collaboration and Code-review – B2B integration at code-level – Communicate and share code knowledge in the Team – Enforce workflow and code quality • The most successful open source code review – Android OS – Eclipse, OpenStack, Qt, CouchDB and many others 11 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 12. Who’s Using Gerrit in Production Today? source: Wikipedia 12 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 13. Jenkins = Most popular Open Source CI • Has hundreds of plugins to – Interact with various SCMs (Git, SVN, CVS, …) – Build software (ant, maven, gradle, make) – Run unit/integration tests (JUnit, Selenium, …) – Perform static code analysis (findbugs, checkstyle, PMS, Sonar, …) • Works brilliantly together with Gerrit over Gerrit Trigger Plugin – Keeps ssh connection open to learn about new review requests immediatly – Builds and verifies all configures quality gates (tests, coding conventions, code KPIs, you name it) – Sets ‘verified’ flag in review request according to result of verification build (either +1 or -1) – If Jenkins sets -1, then further code review isn’t possible, developer has to either re-work or abandon change 13 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 14. Tackling half baked review requests: Marrying Gerrit and Jenkins CI Build: OK CI Build: OK master A1 C2* Verified: -1 Verified: +1 (build failed) (build OK) C2 C2* refs/for/master Reviewed: +2 push push local A1 C2 C2* master 14 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 15. Learn More CollabNet DVD for BED TeamForge + Gerrit Data Sheet Git Blogs http://blogs.collab.net/git Software Downloads (TeamForge, Git + clients) http://www.collab.net/git 15 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 16. Q&A 16 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 17. TeamForge = Enterprise-Grade Git Mgmt. + ALM Gerrit  Basic SCM features  Protection  jGit engine  Code Quality  Advanced Git security  Control  Native engine  Git Projects organization  IT standard compliance  GitWeb  Code-review  ALM integration  Replication  Hybrid SCM With TeamForge and Gerrit, Git is now ready for the enterprise. Realize all the benefits of Git, without compromising governance, security and compliance. 17 Copyright ©2012 CollabNet, Inc. All Rights Reserved.
  • 18. The technical details we shield users from 18 Copyright ©2012 CollabNet, Inc. All Rights Reserved.