1. Environment Required
CentOS Linux release 6.0 (Final) ( cat /etc/redhat-release )
JDK: jdk1.6.0_27 (/opt/)
ApacheTomcat: apache-tomcat-6.0.33 (/opt/)
1.1 Extract JDK and Apache Tomcat ( tar xvf *.tar.gz )
1.2 Set environment variables like below:
1.2.1 nano ~/.profile or /etc/.profile ( nano is better than vi, we can install it using yum install nano in CentOS)
JAVA_HOME=/opt/jdk1.6.0_27
CLASSPATH=.:$JAVA_HOME/lib/tool.jar
ANT_HOME=/opt/apache-ant-1.8.2
DISPLAY=:1.0
PATH=:$ANT_HOME/bin:$JAVA_HOME/bin:$PATH
export LANG="en_US.utf8" JAVA_HOME CLASSPATH PATH
1.2.2 source ~/.profile
1.2.3 verify if set successful using echo $JAVA_HOME
1.3 Start Apache
cd /opt/apache-tomcat-6.0.33/bin
sh startup.sh or ./startup.sh
1.4 Verify if Apache work well
http://host:8080
If it cannot be accessed, it may be relevant with firewall , just close firewall using service iptables stop or add a rule to open 8080
2. Install Jenkins
There are 2 ways to install it, one is using rpm(refer to http://jenkins-ci.org/ CentOS), another is using jenkins.war
2.1 For first method: http://pkg.jenkins-ci.org/redhat/ this will installed jenkins in /var/lib/jenkins and the service will in /etc/init.d/jenkins
When starting jenkins, there is an error saying /usr/bin/java: No such file or directory
The solution is to make a soft link using ln -s $JAVA_HOME/bin/java /usr/bin/java
Use this method, there is some issue when integating with Selenium(Firefox Profile cannot be accessed well and if put profile in /tmp/, selenium will hang on Launching firefox....).
2.2 For second method: Download jenkins.war , and copy it to /opt/apache-tomcat-6.0.33/webapps , and restart apache
Then we can access jenkins using http://host:8080/jenkins
3. Install Firefox and Xvfb
yum install firefox
yum install Xvfb
When start Xvfb using /usr/bin/Xvfb :1 -ac -screen 0 1024x768x8 there is an issue below:
(EE) AIGLX error: dlopen of /usr/lib64/dri/swrast_dri.so failed (/usr/lib64/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
(EE) GLX: could not load software renderer
The solution is to install mesa-dri-drivers-7.7-2.el6.x86_64.rpm
4. Set environment variable DISPLAY
DISPLAY=:1.0 (same with Xvfb starting setting)
5. Install font libs
If we start an app like firefox, there will an error like (firefox:3087): Pango-WARNING **: failed to choose a font, expect ugly output.
The solution is to install font libs using yum install xorg-x11-font*
6. Install Selenium plugins
Jenkins-Manage Jenkins-Available-Check Selenium plugins: Hudson Seleniumhq plugin and Selenium HTML report to install
7. Download selenium server jar, and put it in /opt/
8. Configure selenium server path
Jenkins-Manage Jenkins-Configure System
9. Configure a job
Note: Firefox need a profile template to launch, the template can be copied from other machine.
How to create a profile template? Just close firefox browser, and type firefox -ProfileManager in terminal, then the dialog pops up, and we can create it here.