Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 84 lines (57 sloc) 4.475 kb
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
1 # Mozmill CI
c4209b9 Henrik Skupin Update README with documentation about setup and first run topics
whimboo authored
2 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.
3
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
4 ## Setup
c4209b9 Henrik Skupin Update README with documentation about setup and first run topics
whimboo authored
5 Before you can start the system the following commands have to be performed:
6
7 git clone git://github.com/whimboo/mozmill-ci.git
8 cd mozmill-ci
9 ./setup/configure.sh
10
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
11 ## Startup
c4209b9 Henrik Skupin Update README with documentation about setup and first run topics
whimboo authored
12 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:
13
14 ./start.sh
15
0416c0f Henrik Skupin Update Mozmill version and reset default notification email address
whimboo authored
16 Once Jenkins has been fully started, you will have to configure your system now. Therefore open `http://localhost:8080/configure` via your web browser. In the section "Global properties" update the following entries:
17
18 MOZMILL_VERSION (Version of Mozmill to use)
19 NOTIFICATION_ADDRESS (Email address of the notification emails)
20
21 After you are done with the configuration 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 Henrik Skupin Update README with documentation about setup and first run topics
whimboo authored
22
23 Now you can start the Pulse consumer which pushes requests for jobs through the Jenkins API to the master:
24
25 source jenkins-env/bin/activate
26 ./pulse.py config/example_daily.cfg
27
28 Please keep in mind that you should create your own configuration file before you start the consumer and setup the wanted builds appropriately.
29
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
30 ## Adding new Nodes
a13a82b Henrik Skupin 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
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
33 ### Windows:
1ee9d26 Henrik Skupin Update README for setting up nodes
whimboo authored
34 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 Henrik Skupin Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
35
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
36 ### Linux (Ubuntu):
1ee9d26 Henrik Skupin Update README for setting up nodes
whimboo authored
37 Open the terminal or any other package manager and install the following packages:
38
a13a82b Henrik Skupin Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
39 sudo add-apt-repository ppa:ferramroberto/java
40 sudo apt-get update
41 sudo apt-get install sun-java6-jre sun-java6-plugin
42
1ee9d26 Henrik Skupin Update README for setting up nodes
whimboo authored
43 Also make sure that the screensaver and any energy settings have been turned off.
44
a13a82b Henrik Skupin Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
45 After Java has been installed open the appropriate node within Jenkins from the nodes web browser like:
c4209b9 Henrik Skupin Update README with documentation about setup and first run topics
whimboo authored
46
47 http://IP:8080/computer/windows_xp_32_01/
48
49 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 Henrik Skupin Update setup documentation for Linux and fix broken remoteFS setting
whimboo authored
50
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
51 ## Using the Jenkins master as executor
04f1a41 Henrik Skupin Update master default label to OS X for now
whimboo authored
52 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.
e6e3a44 Anthony Hughes Update README.md to include on-demand execution instructions
ashughes1 authored
53
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
54 ## Job priorities
55 To allow Mozmill tests to be executed immediately for release and beta builds priorities are necessary. The same applies to the type of testrun, where some have higher priority.
56
07d7320 Henrik Skupin Update priorities for ondemand tests
whimboo authored
57 trigger_ondemand = 1099
58
59 ondemand = 1000
60 release-mozilla-release = 600
61 release-mozilla-beta = 500
62 mozilla-esr = 400
63 mozilla-central = 300
64 mozilla-aurora = 200
65 mozilla-1.9.2 = 100
66
67 update = 60
68 functional = 50
69 endurance = 40
70 remote = 30
71 addon = 20
72 l10n = 10
2e23896 Henrik Skupin Update README for job priorities
whimboo authored
73
74 The higher the priority value, the higher the priority the job will have in the queue. For example, mozilla-central_endurance will have a value of 340 (300 + 40) and will therefore be executed before mozilla-aurora_endurance, which will have a value of 240 (200 + 40).
75
76 ## Running on-demand tests
e6e3a44 Anthony Hughes Update README.md to include on-demand execution instructions
ashughes1 authored
77 1. Navigate to your Jenkins instance: http://IP:8080
78 2. Open the +admin tab and look for the 'trigger-ondemand' row
79 3. Click the green arrow button, 'Schedule a Build'
80 4. Upload your ondemand.cfg file (see examples in [./config/ondemand/](https://github.com/whimboo/mozmill-ci/tree/master/config/ondemand))
81 5. Click 'Back to Dashboard' link and open the @ondemand tab
82
83 If you see an ondemand_* testrun in the middle is blinking and the nodes on the left are not 'idle', your testrun is executing. The results should appear in your dashboard when complete.
Something went wrong with that request. Please try again.