===== Jenkins ===== ==== Jenkins Introduction (presentation) ==== [[http://www.cs.berkeley.edu/~sknapp/jenkins_amplab_intro.pdf|AMPLab Jenkins Introduction]] ==== 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@cs.berkeley.edu|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 [[https://amplab.cs.berkeley.edu/jenkins/login|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 [[https://amplab.cs.berkeley.edu/jenkins/job/velox%20testing/configure |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 [[https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project|official Jenkins wiki]] for more detail. If you have any questions or issues, please feel free to reach out to [[sknapp@berkeley.edu|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 [[sknapp@berkeley.edu|Shane Knapp]] and request access to the master and workers. To log in via SSH: ssh @hadrian.ist.berkeley.edu From the master, you can then log in workers using the same credentials: ssh @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: {{page>resources:compute:snb-gzp-1u#configuration_details&noheader}} Workers: 2 of the following for a total of 8 build nodes {{page>resources:compute:snb-jfq#configuration_details&noheader}}