Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 56 lines (35 sloc) 2.703 kB
c4209b9 @whimboo Update README with documentation about setup and first run topics
whimboo authored
1 Mozmill CI
2 ==========
3
4 With the Mozmill CI project we aim to get a fully automated testing cycle implemented for testing Firefox in the Mozilla QA compartment. Therefore the [Mozilla Pulse](http://pulse.mozilla.org/) message broker and [Jenkins](http://jenkins-ci.org/) are used.
5
6 Setup
7 -----
8 Before you can start the system the following commands have to be performed:
9
10 git clone git://github.com/whimboo/mozmill-ci.git
11 cd mozmill-ci
12 ./setup/configure.sh
13
14 Startup
15 -------
16 The two components (Pulse consumer and Jenkins master) have to be started separately in two different terminals. As first step we have to setup the Jenkins master:
17
18 ./start.sh
19
a13a82b @whimboo Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
20 Once Jenkins has been fully started, open `http://localhost:8080/` via your web browser. Open the `+admin` view and execute all of the listed jobs once. Also update the `Jenkins URL` of the master to a public accessible IP or DNS name, so that slave nodes can successfully connect.
c4209b9 @whimboo Update README with documentation about setup and first run topics
whimboo authored
21
22 Now you can start the Pulse consumer which pushes requests for jobs through the Jenkins API to the master:
23
24 source jenkins-env/bin/activate
25 ./pulse.py config/example_daily.cfg
26
27 Please keep in mind that you should create your own configuration file before you start the consumer and setup the wanted builds appropriately.
28
29 Adding new Nodes
30 ----------------
a13a82b @whimboo Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
31 To add Jenkins slaves to your master you have to create new nodes. You can use one of the example nodes (Windows XP and Ubuntu) as a template. Once done the nodes have to be connected to the master. Therefore Java has to be installed on the node first.
32
33 Windows:
34
1ee9d26 @whimboo Update README for setting up nodes
whimboo authored
35 Go to [www.java.com/download/](http://www.java.com/download/) and install the latest version of Java JRE. Also make sure that the UAC is completely disabled, and the screensaver and any energy settings have been turned off.
a13a82b @whimboo Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
36
37 Linux (Ubuntu):
38
1ee9d26 @whimboo Update README for setting up nodes
whimboo authored
39 Open the terminal or any other package manager and install the following packages:
40
a13a82b @whimboo Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
41 sudo add-apt-repository ppa:ferramroberto/java
42 sudo apt-get update
43 sudo apt-get install sun-java6-jre sun-java6-plugin
44
1ee9d26 @whimboo Update README for setting up nodes
whimboo authored
45 Also make sure that the screensaver and any energy settings have been turned off.
46
a13a82b @whimboo Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
47 After Java has been installed open the appropriate node within Jenkins from the nodes web browser like:
c4209b9 @whimboo Update README with documentation about setup and first run topics
whimboo authored
48
49 http://IP:8080/computer/windows_xp_32_01/
50
51 Now click the `Launch` button and the node should automatically connect to the master. It will be used once a job for this type of platform has been requested by the Pulse consumer.
a13a82b @whimboo Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
52
53 Using the Jenkins master as executor
54 ------------------------------------
04f1a41 @whimboo Update master default label to OS X for now
whimboo authored
55 If you want that the master node also executes jobs you will have to update its labels and add/modify the appropriate platforms, e.g. 'master mac 10.7 64bit' for MacOS X 10.7.
Something went wrong with that request. Please try again.