Jenkins, itself located on GitHub, has a number of plugins for integrating into GitHub. The two primary avenues for integrating your Jenkins instance with GitHub are with "build integration," using GitHub to trigger builds, or with "authentication integration," using GitHub as the source of authentication information to secure a Jenkins instance.

Build integration

With the help of the Git plugin Jenkins can easily pull source code from any Git repository that the Jenkins build node can access.

The GitHub plugin extends upon that integration further by providing improved bi-directional integration with GitHub. Allowing you to set up a Service Hook which will hit your Jenkins instance every time a change is pushed to GitHub.

Jenkins in the GitHub WebHooks/Services view

Going the other direction, the GitHub plugin can also feed information back into GitHub via the commit status API, more details here.

Authenticating with GitHub

Using the GitHub Authentication plugin it is possible to use GitHub’s own authentication scheme for implementing authentication in your Jenkins instance.

The setup guide will help walk you through configuring the GitHub OAuth side, and your Jenkins instance, to provide easy authentication/authorization for users.

Configuring "Global Security" to use GitHub