.. index:: pair: service; jenkins
.. index:: url; ci.libreoffice.org
.. index:: Countinuous Integration
.. _jenkins_service:
Jenkins
=======
Jenkins is used to publish build logs.
Installation
------------
* to install prerequisites of jenkins
.. code-block:: bash
apt-get -y install openjdk-7-jdk openjdk-7-jre-headless
* to install Jenkins
New File :file:`/etc/apt/sources.list.d/jenkins.list` with content:
.. code-block:: sourceslist
deb http://pkg.jenkins-ci.org/debian binary/
To use this repository first add the key to your system::
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
Update your local package index, then install Jenkins::
sudo apt-get update
sudo apt-get install jenkins
* DNS-Settings
Set up a DNS-Alias ci.libreoffice.org to the Host running gerrit
* Configure Firewall Rule::
ufw allow in 29418/tcp
* Change the config files::
# Replace default HTTP_PORT 8080 port to 7080
sed -i s/HTTP_PORT=8080/HTTP_PORT=7080/g /etc/default/jenkins
* Create an Apache Virtual Host pointing to gerrit installation:
.. code-block:: apache
ServerName ci.libreoffice.org
CustomLog /var/log/apache2/ci.libreoffice.org.log vhost_combined
RewriteEngine on
RewriteRule ^(.*) https://ci.libreoffice.org$1 [NE,L]
ServerName ci.libreoffice.org
SSLEngine On
SSLCertificateFile /etc/ssl/certs/libreoffice.crt
SSLCertificateKeyFile /etc/ssl/private/libreoffice.key
SSLCertificateChainFile /etc/ssl/certs/libreoffice.chain
CustomLog /var/log/apache2/ci.libreoffice.org.log vhost_combined
# Jenkins CI
ProxyRequests On
Order deny,allow
Allow from all
ProxyPass / http://127.0.0.1:7080/
ProxyPassReverse / http://127.0.0.1:7080/
.. todo::
State filename of jenkins vhost.
* Open Port 38844 (Used as jenkins ssh port)
Jenkins itself opens port 38844 as ssh-port for connecting gerrit to jenkins
To allow access to port 38844:
.. code-block:: bash
ufw allow in 38844/tcp
Start
-----
::
sudo /etc/init.d/jenkins start
Stop
----
::
sudo /etc/init.d/jenkins stop
Disable
-------
::
sudo update-rc.d -f jenkins remove
Enable
------
::
sudo update-rc.d jenkins defaults 99
Responsible
-----------
Thiebaud, Norbert
Michaelsen, Bjoern
Einsle, Robert
Ostrovsky, David