GerritHub.io - present, past, future

Post on 12-Jan-2017

4,333 views 0 download

transcript

GerritHub.io

2 .io

About Luca

Luca MilanesioCo-founder of GerritForge

over 20 years of experience in Agile Development SCM and ALM worldwide

Contributor to Jenkins since 2007 (and previously Hudson)

Git SCM mentor for the Enterprise since 2009

Contributor to Gerrit Code Review community since 2011

3 .io

About GerritForge

Founded in 2009 in London UK

Mission: Integrate Gerrit withthe Enterprise

4 .io

Agenda Where are we coming from? Some numbers Good learning Problems What's missing What do you think?

5 .io

2008 – 2013: Code Review world divided

BRANCH+

PULL REQUEST

CHECKOUT+

AMEND

6 .io

There are two fundamental problems with single-patch review systems:1. They encourage lumping at-best-weakly-related

changes together.2. They encourage you to hide your history.

[http://bit.ly/1hhQkcA]

The pull-request system looks like an incredible easy way to contribute to any project hosted on Github [but] doing any proper and useful contribution to a software is never done right the first time. But as a software maintainer you'll end up with pull-request you'll never get finished unless you wrap things up yourself.

[http://bit.ly/1o7HIb6]

A big advantage in Github's favor is the number of developers that are familiar with it compared to Gerrit.

Gerrit can be popular with Git power-users, but friction-free use of it requires intermediate or advanced git knowledge, and tolerance of a steep learning curve.

[http://bit.ly/1cJV8IJ]

I have no problem with people using github as a hosting site, but in order for *me* to pull from github, you need to(a) make a real pull request […]: real explanation,

proper email addresses, proper shortlog, and proper diffstat.

(b) since github identities are random, I expect the pull request to be a signed tag

[http://bit.ly/1iONQ4L]

7 .io

Then GitHub plugin was born

Gerrit User S

ummit

2014

8 .io

2013 – Initial Features

https://gerrit-review.googlesource.com/#/admin/projects/plugins/github

1. First ever OAuth 2.0 authentication for Gerrit 2. Authenticate using GitHub identity 3. Clone and Auto-Configure Replication4. Imports Pull Requests Gerrit Changes /

Topics5. Align Pull Request with Gerrit merge status

9 .io

First 4 months numbers

Nov 2013 – Mar 2014 Statistics

1112 users2399 changes

3311 repositories77 GBytes

10 .io

Learning #1

New projects START SMALL

on GitHub (not on Gerrit)

11 .io

Learning #2

When projects growthey NEED

something like Gerrit

12 .io

Learning #3

Large projects WANT TO USE Gerrit

but people are scared about it

13 .io

Learning #4

Nobody (except us of course)

Like Gerrit UX Look & Feel

14 .io

Learning #5

Large projectsNEED REPLICATION

but is often complex to manage it

15 .io

Learning #6

Large projectsUSING REPLICATION

have problems monitoring it

16 .io

Learning #7

cat learning[1-6] |sed -e "s/github/bitbucket/g"

17 .io

2014-2015 – Extending features and contributors

6. Private GitHub repositories7. GitHub Organisation / Teams as Group

Backend 8. Automatic fetch GitHub Pull Request with

WebHooks 9. OAuth 2.0 Scope selection from Gerrit

session

+ 4 additional contributors

18 .io

2 years on … new numbers

Nov 2015 Statistics

6574 users (+ 580%)41,546 changes (+ 1,700%)

16,728 repositories (+ 530%)

500 GBytes (+ 500%)

19 .io

OpenProblems

20 .io

Problem #1

Our success = Our curseNEED TO SCALE A LOT MORE

21 .io

Problem #1 - Options

• Data sharding / GlusterFS• Gerrit virtual hosting

• Massively increasing central node

22 .io

Problem #2

90% of the traffic is from USA

(and our servers are in Germany)

23 .io

Problem #2 - Options

• Moving central node to the USA(as GitHub does)

• Multi-master replication• Edge-caching only

24 .io

Problem #3

People still doesn't understand

REPLICATIONTypical question is:

"can I use Gerrit and rest of the Team pushing to GitHub?"

25 .io

Problem #3 - Options

• Push + Pull replication plugin• Replication resolution console

• GitHub WebHook to align Gerrit• Set GitHub as read-only

26 .io

Problem #4

Growth = more costs

27 .io

Problem #4 - Options

• Quotas for FREE use• Charge for private Projects / Teams

• Charge for Commercial use• Charge for Gerrit private virtual

hosting

28 .io

Can we have something

more?

29 .io

Most wanted features - #1

GerritHub "in a box"

with GitHub:Enterprise

30 .io

Most wanted features - #2

GerritHub Replications status

And resolution

31 .io

Most wanted features - #3

GerritHub for BitBucket

32 .io

Most wanted features - #4

GerritHub project-level Jira Integration

33 .io

Most wanted features - #5

What would you need?

34 .io

Try now

http://GerritHub.io/login

35 .io

Become Contributorand add your features

36 .io

Sign-in: http://gerrithub.io/login

Gerrit book: http://gerrithub.io/book

Learn more about

Get your copy TODAY

User Summit ReceptionAmazon.com