Difference between revisions of "Jenkins server setup"
Jump to navigation
Jump to search
Johanengelen (talk | contribs) |
Johanengelen (talk | contribs) |
||
Line 13: | Line 13: | ||
For scan-build static analysis: | For scan-build static analysis: | ||
apt-get install clang-3.5 | apt-get install clang-3.5 | ||
For render testing | For render testing we need a modified version of perceptualdiff that can handle transparency!!! | ||
So we have to build our own version of perceptualdiff... | So we have to build our own version of perceptualdiff... | ||
perceptualdiff | sudo apt-get install libfreeimage3 libopenjpeg2 libraw9 | ||
sudo apt-get install libfreeimage-dev | |||
cd ~ | |||
bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest | |||
cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod | |||
cmake . | |||
make | |||
sudo cp perceptualdiff /usr/bin | |||
For building 2Geom: | For building 2Geom: | ||
apt-get install cmake | apt-get install cmake |
Revision as of 22:30, 12 November 2014
Installed software
The software that was installed on our Ubuntu testing server (jenkins.inkscape.org).
apt-get install emacs24-nox
Inkscape build dependencies
apt-get install bazaar apt-get build-dep inkscape apt-get install autopoint
Several packages for our Jenkins jobs
For scan-build static analysis:
apt-get install clang-3.5
For render testing we need a modified version of perceptualdiff that can handle transparency!!! So we have to build our own version of perceptualdiff...
sudo apt-get install libfreeimage3 libopenjpeg2 libraw9 sudo apt-get install libfreeimage-dev cd ~ bzr checkout --lightweight lp:inkscape-rendertest inkscape-rendertest cd inkscape-rendertest/perceptualdiff-1.1.1-alphamod cmake . make sudo cp perceptualdiff /usr/bin
For building 2Geom:
apt-get install cmake
For 2Geom documentation:
apt-get install doxygen apt-get install graphviz
Install Jenkins
Follow the instructions on Jenkins wiki:
wget -q -O - https://jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins
sudo /etc/init.d/jenkins start
Jenkins is now accessible through port 8080.
Setup Jenkins
We should be able to store Jenkins' config in an SCM, but didn't spend the time to figure that out.
- Manage Jenkins -> Global security
- Enable security
- Access control -> Jenkins' own user database, allow users to sign up. Anyone can do anything. Save.
- Sign yourself up.
- Back to Global security
- Access control -> Authorization -> matrix-based security.
- Add your username to the matrix and give yourself full auth.
- The anonymous user needs "Read" rights on:
- Overall . Read
- Job . Read
- View . Read
- Access control -> disallow users to sign up (no reason for it, and may confuse people)
- Save.
- Access control -> Authorization -> matrix-based security.
Installed Jenkins plugins
Manage Jenkins -> Plugin Manager.
- Bazaar plugin
- Shared workspace plugin
- Clang Scan-build Plugin
- Coverity plugin
- Doxygen plug-in
- HTML Publisher Plugin
- xUnit Plugin
Config Jenkins some more
- Manage Jenkins -> Configure System
- Doxygen installations
- name: doxygen
- path: /usr/bin/doxygen (ignore the warning, you need the executable in there)
Before setting up Inkscape and 2Geom jobs
We first need to set up shared workspaces, so we can spread the tasks over several jobs.
- Manage Jenkins -> Configure system -> Workspace sharing
- Add Inkscape shared workspace
- name: inkscape_trunk
- repo: lp:inkscape
- Add 2Geom shared workspace
- name: lib2geom_trunk
- repo: lp:lib2geom
Jobs
Now you can set up jobs. We will have to save the jobs settings somewhere... Hard work to type it all out here.
TO DO
- figure out how to reroute traffic such that jenkins.inkscape.org works instead of only jenkins.inkscape.org:8080