Page MenuHomePhabricator

Replace Gerrit & GitHub with GitLab
Closed, DeclinedPublic

Description

GitLab is essentially an open-source clone of GitHub. We could either use their hosted version (like we do with GitHub now) or we could host our own instance of the software.

This has the following benefits:

  • New developers (who are already familiar with the GitHub workflow) will be able to step into a similar (if not identical) workflow
  • Code reviews are easier and more intuitive
  • Open source software instead of GitHub's proprietary system

We would continue using Phabricator for task management as it is a better task system then GitLab (or GitHub) Issues.

Event Timeline

dbarratt created this task.Jun 9 2017, 8:11 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJun 9 2017, 8:11 PM
dbarratt updated the task description. (Show Details)Jun 9 2017, 8:12 PM
Paladox added a subscriber: Paladox.Jun 9 2017, 8:17 PM

What are the pro and cons?

And what features would we gain compared to gerrit?

Will we loose any features?

Oh I just saw this:

Gitlab does have a self-hosted option that is free, but is a scaled back version of their "Enterprise" version, which has closed source components we would need.

well...

wikimedia host there own gerrit installation anyways.

Paladox triaged this task as Lowest priority.Jun 9 2017, 8:23 PM
Paladox moved this task from Bugs & stuff to Discussions & doc stuff on the Gerrit board.
demon closed this task as Declined.Jun 9 2017, 8:23 PM

Sooo, I looked into Gitlab some time ago. It's a nice tool. The UI is certainly easy to use. Unfortunately, the feature list is incredibly lacking without buying the enterprise version--features that we'd absolutely need. For that, it basically became a non-starter in my book.

Which is a shame, because it's otherwise great software.

@demon I was a Wikimedia contributor when everything was switched over to Phabricator, and having seen that I can't imagine this is a decision that'd be taken lightly, but as a GitLab employee I wanted to ask what features you felt were missing from CE?

greg added a subscriber: greg.Jun 9 2017, 9:04 PM

To start at the top of the list which make it a deal breaker: LDAP integration, per https://about.gitlab.com/products/

And no, it isn't worth having a conversation from Gitlab sales on whether we can get that for free.

@greg I definitely wouldn't suggest that anyway, if I were running an open source project I wouldn't want to risk having that taken away. We do have LDAP support in CE, the difference with EE is that there are some advanced features.

Docs for CE LDAP: https://docs.gitlab.com/ce/administration/auth/ldap.html

greg added a comment.Jun 9 2017, 9:09 PM

No thank you.

Zppix awarded a token.Jun 9 2017, 9:21 PM
demon added a comment.Jun 9 2017, 9:21 PM

"Note: In GitLab EE, you can configure multiple LDAP servers to connect to one GitLab server." - first thing that jumped out.

Also: LDAP group sync, Using external Mysql database (lol wtf?!), Repo mirroring, Merging issues (rebase before merge, etc), Push rules (we use a lot of per-branch ACL stuff for deployment), "Create and remove admins based on an LDAP group," Audit logs.

I'm sure I can find more....

Debian is using GitLab:
"salsa.debian.org (git.debian.org replacement) going into beta" https://lwn.net/Articles/742297/

(By the way, this ticket is closed, but there isn't a log entry above saying so; is there some 'hidden close' feature in Phabricator?)

Peachey88 added a subscriber: Peachey88.EditedDec 27 2017, 8:50 AM

(By the way, this ticket is closed, but there isn't a log entry above saying so; is there some 'hidden close' feature in Phabricator?)

Nope, probably just a phab bug not showing it (Edit: Missed it, yes there was a entry)

(By the way, this ticket is closed, but there isn't a log entry above saying so; is there some 'hidden close' feature in Phabricator?)

No, as there is a log entry. https://phabricator.wikimedia.org/T167547#3336421 says demon closed this task as Declined.

Oh yes, it was there all along; I missed it. :)