Jenkins with GitHub

Jenkins, itself located on GitHub, has a number of plugins for integrating into GitHub. The primary avenues for integrating your Jenkins instance with GitHub are:

  • "build integration" - using GitHub to trigger builds

  • "authentication integration" - using GitHub as the source of authentication information to secure a Jenkins instance.

Build integration

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

The plugin:github[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 plugin:github-oauth[GitHub Authentication plugin] it is possible to use GitHub’s own authentication scheme for implementing authentication in your Jenkins instance.

The plugin:github-oauth#GithubOAuthPlugin-Setup[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