Live data from Hacker News

GitHub Flow

scottchacon.com

31–40 of 66 posts

Re: GitHub Flow

#31

"Every branch we push has tests run on it and reported into the chat room, so if you haven’t run them locally, you can simply push to a topic branch (even a branch with a single commit) on the server and wait for Jenkins to tell you if it passes everything." From this, it sounds like Jenkins is automatically picking up new topic branches, running the tests, and reporting on the results. Any suggestions on how to set…

I'm curious about this too. I know Jenkins has a rest API; maybe it's attached to Github web hooks.

Re: GitHub Flow

#32

"Every branch we push has tests run on it and reported into the chat room, so if you haven’t run them locally, you can simply push to a topic branch (even a branch with a single commit) on the server and wait for Jenkins to tell you if it passes everything." From this, it sounds like Jenkins is automatically picking up new topic branches, running the tests, and reporting on the results. Any suggestions on how to set…

Why would somebody downvote this?

Re: GitHub Flow

#33

I'm curious how CI is done on branches. It's mentioned but not elaborated on in the article.

Every branch is scheduled to build in Jenkins as soon as it gets pushed. We get success/failure notifications in Campfire.

So is there a separate Jenkins job per feature branch? How are these created?

Re: GitHub Flow

#34
post #24

Its interesting that they abandoned CI Joe. I wouldn't say, I saw this coming. But, unless they wanted to maintain/write a full blown CI server themselves, it would have got harder for multiple projects.

What do they use for a CI tool?

Re: GitHub Flow

#35
Here's what I'm curious about that is not mentioned at all:

How do they manage deployment to staging? At my company we typically deploy topic branches directly to staging, but we have fewer developers and slower pace. If multiple people need to deploy topic branches we set up an ephemeral staging branch that merges the multiple topic branches together, but I can imagine that getting super hairy on a team the size of GitHub's.

Do they just mostly deploy directly to production, thus severely minimizing staging contention?

Re: GitHub Flow

#36
I wish they'd post a guide on how to do a separate CI job per feature branch. That'd make this approach really scalable.

Re: GitHub Flow

#37
post #36

I wish they'd post a guide on how to do a separate CI job per feature branch. That'd make this approach really scalable.

Using something like the Jenkins gem (https://github.com/cowboyd/jenkins.rb), it's pretty easy to script. The hardest part is setting up the job configuration the branches will use.

Re: GitHub Flow

#38

Earlier quoted context omitted.

Every branch is scheduled to build in Jenkins as soon as it gets pushed. We get success/failure notifications in Campfire.

So is there a separate Jenkins job per feature branch? How are these created?

I'm not sure it's how GitHub does it, but we use the jenkins gem to do pretty much the same thing: https://github.com/cowboyd/jenkins.rb

Re: GitHub Flow

#39
post #34
post #24

Its interesting that they abandoned CI Joe. I wouldn't say, I saw this coming. But, unless they wanted to maintain/write a full blown CI server themselves, it would have got harder for multiple projects.

What do they use for a CI tool?

Jenkins.

Re: GitHub Flow

#40

"Every branch we push has tests run on it and reported into the chat room, so if you haven’t run them locally, you can simply push to a topic branch (even a branch with a single commit) on the server and wait for Jenkins to tell you if it passes everything." From this, it sounds like Jenkins is automatically picking up new topic branches, running the tests, and reporting on the results. Any suggestions on how to set…

Exactly! I'd love to see a post with this much detail talking about the technicals of their deploy process. Using this free-wheeling branching model, requires some very flexible deploy tools, which I don't think(?) exist in the wild. Please school me...
Post reply on HN