Subscribe Us


Breaking

Recent In Voip

Popular

Comments

Recent

Automating Integration & Deployment Using Git, Jenkins and Docker Part 5 /Integrating Git HUb with jenkins

 

GitHub Integration with Jenkins.

Precondition

Jenkins GitHub plugin.
1.Make Sure to Install Git Hub Integration Plugin.

2.If not you can install it from Jenkins Plug Manager.


 

GitHub Personal Access Token.

Let’s go down the rabbit hole. You first need to create GitHub personal access token for user that has access to GitHub repository. In my case, that was my GitHub account.
Login to the Git Hub Account. www.github.com
  1. Click on your GitHub avatar
  2. Select Settings


  1. Select Developer Settings 




  1. Select Personal Access Token
  1. Enter your GitHub password

Hmmm, possible GitHub UX issue, this is 4th level depth to get to this feature. Step 5 shows that GitHub knows web security.
  1. Click generate new token

  1. Enter meaningful name
  2. Select permissions: admin:repo_hook, repo
  3. Generate token

  1. Copy token. Be careful, this is your only chance to copy it.
Again, proof that GitHub understands web security.
Jenkins Global credentials
Using GitHub token, you will create Jenkins global credential.
  1. In Jenkins, click credentials
  2. Click global (any of provided links)
My note on Jenkins UX. Its free, and I understand that team do not have much resources. But credentials UX is really messed up.
  1. On left, click Add credentials
  2. For kind select secret text
  3. For scope leave Global option
  4. In secret, paste GitHub token.
  5. Enter meaningful description. Trust me, this is very important, otherwise you will not be able to select this credential.

Jenkins Github settings
  1. Manage Jenkins
  2. Configure System
  3. Scroll down to Github settings
  4. Add github server

  1. Set meaningful name
  2. Leave default API url
  3. Select credentials created in previous step.
  4. Click apply
  5. Click test connection. Following message should appear: Credentials verified for user xxx, rate limit: 4998
Note rate limit. You have 5000 requests per hour for all github integrations, not just Jenkins.

Go to My repository https://github.com/erakm5493/microservices and then fork it .

Note -From now own wards you must use your own repository which you have forked.
I will demonstrate further step using my own repository. (You have to use it your own)
GitHub repository webhook
  1. Go to GitHub repository that you are integrating with Jenkins. You need to have admin rights for that repo.
  2. Click Settings
  3. Select webhooks
  4. Add webhook
  5. Payload url is jenkins_url_with_http_or_https/github-webhook/      
  6. Content type: application/json
  7. Just push event if you only want to trigger jenkins jobs by branch pushes.
  8. Check Active
  9. Click update
  10. Recent deliveries should have green check icon.
If that is not the case, click on latest delivery that will contain HTTP request/response.

Jenkins job build trigger.

  1. Go to your jenkins job
  2. In Build Triggers section, check out: GitHub hook trigger for GITScm polling

Check

  1. Commit something to your repo in branch for which job is configured.
  2. Job should start executing.

0 on: "Automating Integration & Deployment Using Git, Jenkins and Docker Part 5 /Integrating Git HUb with jenkins"