Connecting to and using Jenkins
Jenkins is a job manager which handles executing various tasks (such as cron jobs, staging site deployments, etc.) on the Drupal.org infrastructure without users needing full access to the server. Only a limited subset of Drupal.org "super" users have access to Jenkins.
Prerequisites
You will need an OSUOSL LDAP account in order to use Jenkins. Key members of the infrastructure team such as Rudy, Narayan, Neil, Damien, and Gerhard can set this up. However, most likely you do not need this level of access; if you do, it may be granted if you ask. (The infrastructure team will need to know who you are and trust you first, based on your existing contribution record.)
If you have util.drupal.org access you can generate a LDAP password hash with /usr/sbin/slappasswd and entering your desired password. Then you just need your account created and password set.
Connecting to Jenkins
Enter the following into a terminal window:
ssh -L8080:localhost:8080 [user]@util.drupal.org
Then navigate to http://localhost:8080/, and log in with your OSUOSL username and password.
Using Jenkins
Once logged in, the main Jenkins interface shows a list of available jobs. You can filter this list down to only those jobs relevant to a certain area; for example "Redesign" to access jobs for development sandbox sites:
In order to run a job, click its link in the list. On the side bar of that page, you should see a "Build now" button. (If you don't, you don't have permission to run that job. Talk to one of the aforementioned key members of the Drupal.org infrastructure team if you believe this is in error.)
After clicking Build now, you may be presented with a series of options to fill in related to the job, and then a "Build" button. Upon clicking it, the job will be added to the sidebar.
To view the status of any job run, click into it and click the "Console Output" link in the left sidebar.
[Advanced] Automated Jenkins SSH tunneling
The only problem with the above connection method is that it actually logs you into util in a shell, and if you terminate the SSH session, the local port binding goes with it. The solution is to fork the process into the background:
$ ssh -qNf -L8080:localhost:8080 [user]@util.drupal.org
This can be further simplified by tweaking your ~/.ssh/config. Put an entry into there that looks like this:
Host bind-jenkins #make up whatever host name you want HostName util.drupal.org User [user] LocalForward localhost:8080 util.drupal.org:8080 LogLevel QUIET ExitOnForwardFailure yes
With that in your config, all you'll have to type is ssh -Nf bind-jenkins, and ssh will silently fork into the background after establishing the tunnel. Even better, the ExitOnForwardFailure option ensures that even if you run the command multiple times, no stale ssh processes will be created, as they will automatically exit when they fail to bind to the already-bound local port.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion