layout | title |
---|---|
solution |
Jenkins with GitHub |
Jenkins, itself located on GitHub, has a number of plugins for integrating into GitHub. The primary avenues for integrating your Jenkins deployment with GitHub are:
-
"build integration" - using GitHub to trigger builds
-
"authentication integration" - using GitHub as the source of authentication information to secure a Jenkins controller and its agents.
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 controller 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.
Using the plugin:github-oauth[GitHub Authentication plugin] it is possible to use GitHub’s own authentication scheme for implementing authentication in your Jenkins controller.
The plugin:github-oauth#GithubOAuthPlugin-Setup[setup guide] will help walk you through configuring the GitHub OAuth side, and your Jenkins controller, to provide easy authentication/authorization for users.