Jenkins is the most popular continuous integration software and it allows users to continuously build, test, and release any kind of software. It is extremely flexible and configurable in every aspect, including the way users are able to log in and authorize. GitHub is able to act as an OAuth provider, which is very convenient since it makes a lot of sense to map the users working on a project with the relative area of the CI system.
In order to demonstrate the procedure, we will need a Jenkins instance. Every company will have a different setup so, in order to make things more predictable, we will work with a local version of Jenkins.
Jenkins is a Java app but still, the easiest way to get a running ephemeral instance of Jenkins for our example is by using Docker. With Docker installed and running on your machine, simply run:
$ docker run --rm -p 8080:8080 jenkinsci/blueocean
This instance of Jenkins won't leave behind any traces of itself...