Table of Contents
Jenkins
Jenkins Introduction (presentation)
Access to Jenkins
Access to our Jenkins setup is limited to those in the Lab and those actively engaged in managing the use of Jenkins for projects we support. If you do not fall under those two cases but feel you should have access, contact RISE Support with your request and reasons why you need access.
Web UI
The Web UI is generally world viewable, but you can use your EECS LDAP credentials to login to the Jenkins Web UI.
Shell access
Shell access is generally limited to those actively engaged in managing and debugging builds for projects we support.
Creating Builds
Only people with an account on the Jenkins server, or people with EECS LDAP credentials can create new builds.
If the build fits under an existing project (Spark, Tachyon, etc), please add the item there. If it doesn't, then please create a new tab for your project, and put the new build in there.
For private github repos, please be sure to use the proper github credentials to allow jenkins access:
1) on github.com, add the “Jenkins Build” team to your repo as a Collaborator.
2) when setting up the build on jenkins itself, in the “Source Code Management” section, you'll need to enter the github url that points to your repo. directly under that will be a drop-down box labeled “Credentials”, and in there select “jenkins (private repo key)”.
You can use the velox testing build as a template (be sure to log in w/your LDAP creds before viewing):
For general build creation instructions, refer to the official Jenkins wiki for more detail. If you have any questions or issues, please feel free to reach out to Shane Knapp.
Shell access to the Jenkins cluster
People with EECS LDAP credentials automatically have shell accounts on the Jenkins master and workers. Otherwise, you will need to email Shane Knapp and request access to the master and workers.
To log in via SSH:
ssh <EECS LDAP username>@hadrian.ist.berkeley.edu
From the master, you can then log in workers using the same credentials:
ssh <EECS LDAP username>@amp-jenkins-worker-{01..08}
Operational Guide
If we lose power, the connections to the Jenkins workers need to be restarted:
- once power is back up, log in to the jenkins GUI and go here: https://amplab.cs.berkeley.edu/jenkins/computer/
- for each worker, click on it's link and then Disconnect → confirm → Connect (to relaunch the slave process)
- to confirm this works, on each worker's url (example: https://amplab.cs.berkeley.edu/jenkins/computer/amp-jenkins-worker-05/), click on 'System Information' and confirm that the PATH environment variable has things like the path to anaconda visible.
Starting/Stopping/Restarting the Jenkins daemon:
service jenkins start|stop|restart
If you get a 503 Bad Gateway error when visiting the website, restart Apache HTTPD:
service httpd restart
If logins aren't working, restart sssd:
service sssd restart
Once jenkins is up and running, it will be in “Quiet mode” and not triggering builds. To turn this off, staff can log in (upper right corner of the GUI) and then click “Cancel” on the quiet mode notifier located at the top of the build queue (left side below menu).
Architecture
Master:
Workers: 2 of the following for a total of 8 build nodes
Discussion