Jenkins with GitHub

This site is the new docs site currently being tested. For the actual docs in use please go to https://www.jenkins.io/doc.

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 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
GitHub plugins for Jenkins
GitHub plugin

integrates Jenkins jobs with GitHub repositories for triggering builds and reporting commit status

GitHub Authentication plugin

use GitHub as the authentication provider for your Jenkins instance

Git plugin

use Git repositories as the source of code for a Jenkins job

GitHub SQS plugin

trigger builds via the GitHub SQS (AWS) service hook

GitHub Issues plugin

create a GitHub issue whenever your build fails, and automatically close it once the build starts passing again