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.
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.