Greenlight
(is a Git branch merging service)
Length: 60 minutes
Description
Our company's old production deployment strategy was “land whatever
the heck you want on the Git master branch, and it will go to
production”. As we grew from 15 developers to 250 this started to have
some problems. (“Some problems”. Yow!) But what should we do instead?
And how to get people to actually do it? Even harder, how do we get
them to like doing it? Whatever process we design, people will have to
deal with it every day, and if it isn't frictionless they will despise
it.
The result was Greenlight, a Git branch merging service. When you want
to land code on `master`, you notify Greenlight, which takes care of
it for you, including:
- Rebasing your submission on master
- Figuring out if review is required
- Contacting the eligible reviewers and collecting their appraisals
- Running the test suite and cancelling the submission if the tests fail
- Creating the final merge commit and pushing it to the main repository
Making it work was a technical challenge, but getting people to accept
it was a social engineering challenge. I'll explain both aspects of
this successful project.
Use left and right arrow keys to navigate.
Return to:
Universe of Discourse main page |
Perl Paraphernalia |
Other Classes and Talks
mjd-perl-yak+@plover.com