Mercurial > bitten > bitten-test
annotate doc/configure.txt @ 754:545be0c8f405
Adding the ability to modify the default ''onerror'' property in the ''<build>'' element. If not specified, the behavior is unchanged; by default any step failure will result in the build failing and stopping.
Added a new ''continue'' onerror specification-- it's similar to ''ignore''
except the results of ''continue'' steps are counted in the overall build
status (in ''ignore'' they're ignored.)
You'll need to upgrade both your master and slaves if you wish to use
the ''<build>'' element override or the new ''continue'' value.
Will update http://bitten.edgewall.org/wiki/Documentation/recipes.html .
Thanks to jerith for comments.
Closes #409.
Refs #210.
author | wbell |
---|---|
date | Sat, 24 Apr 2010 13:37:26 +0000 |
parents | 3a665b40073c |
children | 2d7e515d48cb |
rev | line source |
---|---|
599
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
1 .. -*- mode: rst; encoding: utf-8 -*- |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
2 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
3 ============= |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
4 Configuration |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
5 ============= |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
6 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
7 While the `Recipe`_ contains the instructions for how to build, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
8 configurations are used to determine what gets built and any runtime |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
9 parameters used when building. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
10 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
11 .. _recipe: recipe.html |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
12 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
13 .. contents:: Contents |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
14 :depth: 2 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
15 .. sectnum:: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
16 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
17 Target platforms |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
18 ================ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
19 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
20 A target platform is something like 'NetBSD x86' or 'Win32 Java 1.4'. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
21 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
22 Technically, a target platform is a named set of rules against which the |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
23 properties of build slaves are matched. Each rule is a regular expression |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
24 matching a particular slave property, such as the operating system |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
25 or the processor. When a slave connects to the build master, it sends a |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
26 registration message that includes information about the slave. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
27 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
28 A build configuration must have at least one target platform assigned to |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
29 it before it becomes fully active. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
30 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
31 Slave Properties |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
32 ================ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
33 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
34 By default, the following properties are included: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
35 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
36 :`family`: The basic type of operating system, typically “posix” for |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
37 Unix-like systems and “nt” for Win32 systems. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
38 :`os`: The name of the operating system (for example “Darwin”, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
39 “Linux” or “Windows”). |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
40 :`version`: The operating system version. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
41 :`machine`: The hardware platform (for example “i686” or “Power Macintosh”). |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
42 :`processor`: The processor architecture (for example “athlon” or “powerpc”). |
720
3a665b40073c
Additional slave configuration properties documented. Closes #510, thanks to Felix Schwarz.
osimons
parents:
670
diff
changeset
|
43 :`name`: The name of the slave. |
3a665b40073c
Additional slave configuration properties documented. Closes #510, thanks to Felix Schwarz.
osimons
parents:
670
diff
changeset
|
44 :`ipnr`: The IP address of the slave. |
599
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
45 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
46 Note that not all of these properties may be available for all platforms, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
47 depending on OS and Python version. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
48 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
49 Examples |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
50 -------- |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
51 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
52 To set up a target platform, create rules that are checked against the |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
53 properties of the slave. For example, a target platform that matches slave |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
54 running Linux on x86 would look like this: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
55 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
56 +------------+------------------------------------+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
57 + Property | Expression | |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
58 +============+====================================+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
59 | `os` | `^Linux` | |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
60 +------------+------------------------------------+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
61 | `machine` | `^[xi]\d?86$` | |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
62 +------------+------------------------------------+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
63 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
64 A target platform that matches any slaves running on Windows might look |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
65 like this: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
66 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
67 +------------+------------------------------------+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
68 + Property | Expression | |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
69 +============+====================================+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
70 | `family` | `^nt$` | |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
71 +------------+------------------------------------+ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
72 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
73 The build master will request a build from at most one slave for every |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
74 target platform. So, for example, if there are three slaves connected that |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
75 are matching 'NetBSD x86', only one of them will perform the build of a |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
76 specific revision. Slaves that match a particular target platform are |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
77 treated as if they were completely interchangable. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
78 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
79 If a slave connects that doesn't match any of the configured target platforms, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
80 the build master will reject its registration. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
81 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
82 Slave Configuration |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
83 =================== |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
84 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
85 When a build slave registers with a build master, it sends information about |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
86 the machine the slave is running on, and what software it has available. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
87 While some of this information can be automatically discovered by the slave, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
88 other information may need to be configured explicitly. Also, a slave instance |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
89 may want to override some of the automatically computed attributes, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
90 for example to enable cross-compilation. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
91 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
92 There are three categories of information that can be configured for a slave: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
93 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
94 :`os`: Properties of the operating system |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
95 :`machine`: Properties of the underlying hardware |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
96 :`packages`: Various pieces of software, like a language runtime or a library |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
97 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
98 Configuration File Format |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
99 ------------------------- |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
100 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
101 For simple manual editing, the slave configuration file will be based on |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
102 the ``'INI'`` file format known from Windows, which is also frequently used by |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
103 Python applications. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
104 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
105 The file is included at runtime using a slave command-line option:: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
106 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
107 bitten-slave -f config.ini |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
108 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
109 A configuration file is partitioned into named sections. There are two |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
110 predefined sections named ``[machine]`` and ``[os]``. If you supply them in |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
111 your configuration file they should include the following sections. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
112 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
113 .. code-block:: ini |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
114 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
115 [os] |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
116 name = Darwin |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
117 version = 8.1.0 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
118 family = posix |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
119 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
120 [machine] |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
121 name = levi |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
122 processor = Power Macintosh |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
123 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
124 There may be any number of additional sections, where each section corresponds |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
125 to a software package. For example: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
126 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
127 .. code-block:: ini |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
128 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
129 [dbxml] |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
130 version = 2.1.8 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
131 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
132 [python] |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
133 version = 2.3.5 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
134 path = /usr/bin/python2.3 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
135 |
611
294641e84e89
0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test.
osimons
parents:
602
diff
changeset
|
136 *Note:* Options called ``name`` is not allowed in custom sections (will |
294641e84e89
0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test.
osimons
parents:
602
diff
changeset
|
137 be skipped). |
294641e84e89
0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test.
osimons
parents:
602
diff
changeset
|
138 |
599
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
139 The build slave sends this package information as part of the build initiation, |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
140 which when using verbose logging (``bitten-slave -v``) will display a debug |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
141 message 'Sending slave configuration:' followed by: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
142 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
143 .. code-block:: xml |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
144 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
145 <slave name="host.domain"> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
146 <platform processor="Power Macintosh">levi</platform> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
147 <os version="8.1.0" family="posix">Darwin</os> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
148 <package name="dbxml" version="2.1.8" /> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
149 <package name="python" version="2.3.5" path="/usr/bin/python23" /> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
150 </slave> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
151 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
152 The name of the slave can only be set as command-line option:: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
153 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
154 bitten-slave --name=myhost |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
155 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
156 Commands using Properties |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
157 ------------------------- |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
158 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
159 A number of commands_ support runtime settings using a slave configuration |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
160 file. The example of ``python.path`` above is one such example, where all |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
161 Python commands will use the specified executable for running commands. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
162 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
163 The documentation for commands_ should include information about all |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
164 runtime settings. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
165 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
166 .. _commands: commands.html |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
167 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
168 Properties in Build Configurations |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
169 ---------------------------------- |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
170 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
171 Defined properties can be used in a build configuration to match slaves |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
172 against target platforms. For example, the following rule would match any slave |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
173 providing 'Berkeley DB XML' version 2.x:: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
174 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
175 dbxml.version ~= /^2\.\d\.\d.*/ |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
176 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
177 The properties are accessible in dotted notation, where the part before the dot |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
178 is the package name, and the part after the dot is the name of the property. |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
179 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
180 Property Interpolation in Build Recipes |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
181 --------------------------------------- |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
182 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
183 Property values can be interpolated into build recipes_ as well, so individual |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
184 slaves can parameterize how their build is perfomed. For example, given the |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
185 following build recipe excerpt: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
186 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
187 .. code-block:: xml |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
188 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
189 <svn:checkout url="http://svn.example.org/repos/myproject/" |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
190 path="${repository.branch}" revision="${revision}"/> |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
191 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
192 .. _recipes: recipes.html |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
193 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
194 Slaves may control which part of the repository is checked out and tested |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
195 with a configuration file excerpt like this one: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
196 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
197 .. code-block:: ini |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
198 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
199 [repository] |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
200 branch = /branches/0.3-testing |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
201 |
602 | 202 Default slave properties are also available for use in recipes: |
601
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
203 |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
204 .. code-block:: xml |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
205 |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
206 <sh:exec executable="echo" |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
207 args="Slave: ${family} ${os} ${version} ${machine} ${processor}"/> |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
208 |
663
820583ca4dc3
0.6dev: Adding interpolation of environment variables, supporting `$VAR` and `${VAR}` on all platforms, and `%VAR%` on Windows. Updated docs + new test. Closes #436.
osimons
parents:
611
diff
changeset
|
209 Additionally, environment variables are also interpolated, supporting |
670
a9d8359f4dc9
0.6dev: Follow-up on #436 / [737], changing to use `string.Template()` instead of `os.path.expandvars()` as this produces a consistent result across platforms and python version.
osimons
parents:
663
diff
changeset
|
210 the common notations of ``$VAR`` and ``${VAR}``. |
663
820583ca4dc3
0.6dev: Adding interpolation of environment variables, supporting `$VAR` and `${VAR}` on all platforms, and `%VAR%` on Windows. Updated docs + new test. Closes #436.
osimons
parents:
611
diff
changeset
|
211 |
820583ca4dc3
0.6dev: Adding interpolation of environment variables, supporting `$VAR` and `${VAR}` on all platforms, and `%VAR%` on Windows. Updated docs + new test. Closes #436.
osimons
parents:
611
diff
changeset
|
212 .. code-block:: xml |
820583ca4dc3
0.6dev: Adding interpolation of environment variables, supporting `$VAR` and `${VAR}` on all platforms, and `%VAR%` on Windows. Updated docs + new test. Closes #436.
osimons
parents:
611
diff
changeset
|
213 |
670
a9d8359f4dc9
0.6dev: Follow-up on #436 / [737], changing to use `string.Template()` instead of `os.path.expandvars()` as this produces a consistent result across platforms and python version.
osimons
parents:
663
diff
changeset
|
214 <sh:exec executable="${PROGRAMFILES}/SomeDir/MyProg.exe" /> |
663
820583ca4dc3
0.6dev: Adding interpolation of environment variables, supporting `$VAR` and `${VAR}` on all platforms, and `%VAR%` on Windows. Updated docs + new test. Closes #436.
osimons
parents:
611
diff
changeset
|
215 |
820583ca4dc3
0.6dev: Adding interpolation of environment variables, supporting `$VAR` and `${VAR}` on all platforms, and `%VAR%` on Windows. Updated docs + new test. Closes #436.
osimons
parents:
611
diff
changeset
|
216 |
599
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
217 Authentication |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
218 ============== |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
219 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
220 Authentication information can also be included in slave configuration file: |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
221 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
222 .. code-block:: ini |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
223 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
224 [authentication] |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
225 username = myusername |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
226 password = mypassword |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
227 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
228 The authentication information will be removed as soon as it is read |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
229 by the slave, and will not be passed to the master as active configuration. |