You shall not pass - Control your code quality gates with a wizard

Embed Size (px)

Citation preview

Code Quality Gate Wizard

Create your own submit rules in less than three minutes.

Eryk Szymanski

Potsdam Engineering Office
CollabNet

CollabNet TeamForge - ALM Platform

CollabNet TeamForge - Integrated Tools

Code Quality Gate Wizard The Big Picture

Code Quality Gate Wizard - Motivation

This is reasonable and works very well

But wait a second, do our customers agree?

OK. We will write our own rules.pl file

Code Quality Gate Wizard - Motivation

in Prolog.In what???

In Prolog. Look:

???Oh nice. I would rather go fishing instead. :)

Code Quality Gate Wizard - Our Goal

Easy:Easy to create, test and deploy the rules

Minimize amount of code needed (UI/Wizard)

Provide an easy and non-invasive and complete way to define submit rules for Gerrit projects.Non-invasive:Compatible with rules.pl file

Do not change the Gerrit core, but plugin is Ok

Complete:Everything what's inSubmit Rules Cookbook

And more :)

Code Quality Gate Wizard - Two Components

Backend: Gerrit Workflow pluginProvides just one prolog predicate: cn.workflow which takes XML input that defines submit rules with filters and voting conditions and process them. This fits in the rules.pl file.

Frontent: GitEye (Free CollabNet Git Client)

provides the UI to generate the rules file

allows to test your rules against a Gerrit change and deploy it to the selected project

lets you generate the rules file from an existing change

contains predefined examples

Code Quality Gate Wizard Submit Rule

Display name

Actions: if satisfied or not satisfied: allow, block or ignore

Filters:

Change details: owner, branch, topic

Commit details: author, commiter, msg, delta

Commit stats: min/max lines inserted/deleted, min/max files modified

User details: current user, ignore (non-)author/(non-)commiter

Voting Condition: Voting Filters: Voter, Vote count/sum/range, Ignore (non-)author, Ignore (non-)commiter

Code Quality Gates Wizard - Algorithm

GitEye Free Git Client From CollabNet

http://www.collab.net/products/GitEye

Demo

Code Quality Gates in Action

Code Quality Gate Wizard How to launch

Code Quality Gate Wizard Templates

Code Quality Gate Wizard Built In Test Mode

Code Quality Gate Wizard From Existing Changes

Code Quality Gate Wizard Great Flexibility

Prezi on Quality Gates for Gerrithttp://prezi.com/2s2ukhpg53or/?utm_campaign=share&utm_medium=copy

4-Eye-Principle Illustratedhttp://prezi.com/sbfm_jtuohel/?utm_campaign=share&utm_medium=copy&rc=ex0shareGit Blogs (3 part series)http://blogs.collab.net/teamforge/you-shall-not-pass-control-your-code-quality-gates-with-a-wizard-part-iii

Learn More

Thank you very much

Q&A

Any Questions?

Email: [email protected]

Copyright 2015 CollabNet, Inc. All Rights Reserved.

Gerrit User Summit - Mountain View CA November 2015

Copyright 2015 CollabNet, Inc. All Rights Reserved.

Copyright 2015 CollabNet, Inc. All Rights Reserved.

Copyright 2015 CollabNet, Inc. All Rights Reserved.