SlideShare uma empresa 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.

Mais conteúdo relacionado

Mais procurados

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
DVClub
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
roncordell
 
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_STE
Bryan Reinbolt
 
Shirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defectShirly Ronen - Documenting an agile defect
Shirly Ronen - Documenting an agile defect
AgileSparks
 

Mais procurados (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
 

Semelhante a Marrying Jenkins and Gerrit-Berlin Expert Days 2013

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
 
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery ProcessSuccesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
Huib Schoots
 

Semelhante 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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

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.