Mercurial > bitten > bitten-test
annotate doc/configure.txt @ 917:8f82930c5e55 tip
update tags
author | convert-repo |
---|---|
date | Tue, 31 May 2011 20:07:00 +0000 |
parents | 2d7e515d48cb |
children |
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 |
887
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
26 registration message that includes information about the slave. A slave |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
27 will only be sent builds for a given platform if the slave's properties |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
28 satisfy all of the rules associated with that platform. |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
29 |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
30 A rule's regular expression is matched against the value of the slave |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
31 property using Python's `re.match`_ function so, for example, `x86` will |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
32 match a value of `x86_64`. Use `^x86$` to match only the value `x86`. |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
33 |
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
34 .. _re.match: http://docs.python.org/library/re.html#re.match |
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
|
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 A build configuration must have at least one target platform assigned to |
887
2d7e515d48cb
Extend documentation on target platform to describe how rules are matched.
hodgestar
parents:
720
diff
changeset
|
37 it before it becomes fully active. |
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
|
38 |
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 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
|
40 ================ |
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 |
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 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
|
43 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
44 :`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
|
45 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
|
46 :`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
|
47 “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
|
48 :`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
|
49 :`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
|
50 :`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
|
51 :`name`: The name of the slave. |
3a665b40073c
Additional slave configuration properties documented. Closes #510, thanks to Felix Schwarz.
osimons
parents:
670
diff
changeset
|
52 :`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
|
53 |
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 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
|
55 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
|
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 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
|
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 |
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 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
|
61 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
|
62 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
|
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 +------------+------------------------------------+ |
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 + 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
|
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 | `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
|
68 +------------+------------------------------------+ |
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 | `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
|
70 +------------+------------------------------------+ |
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 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
|
73 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
|
74 |
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 +------------+------------------------------------+ |
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 + 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
|
77 +============+====================================+ |
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 | `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
|
79 +------------+------------------------------------+ |
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 |
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 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
|
82 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
|
83 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
|
84 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
|
85 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
|
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
|
87 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
|
88 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
|
89 |
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 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
|
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 |
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 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
|
94 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
|
95 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
|
96 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
|
97 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
|
98 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
|
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 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
|
101 |
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 :`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
|
103 :`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
|
104 :`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
|
105 |
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 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
|
107 ------------------------- |
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 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
|
110 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
|
111 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
|
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 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
|
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 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
|
116 |
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 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
|
118 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
|
119 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
|
120 |
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 .. 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
|
122 |
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 [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
|
124 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
|
125 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
|
126 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
|
127 |
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 [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
|
129 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
|
130 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
|
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 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
|
133 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
|
134 |
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 .. 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
|
136 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
137 [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
|
138 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
|
139 |
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 [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
|
141 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
|
142 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
|
143 |
611
294641e84e89
0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test.
osimons
parents:
602
diff
changeset
|
144 *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
|
145 be skipped). |
294641e84e89
0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test.
osimons
parents:
602
diff
changeset
|
146 |
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
|
147 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
|
148 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
|
149 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
|
150 |
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 .. 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
|
152 |
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 <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
|
154 <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
|
155 <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
|
156 <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
|
157 <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
|
158 </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
|
159 |
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 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
|
161 |
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 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
|
163 |
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 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
|
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 |
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 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
|
168 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
|
169 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
|
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 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
|
172 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
|
173 |
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 .. _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
|
175 |
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 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
|
177 ---------------------------------- |
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 |
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 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
|
180 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
|
181 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
|
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 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
|
184 |
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 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
|
186 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
|
187 |
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 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
|
189 --------------------------------------- |
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 |
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 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
|
192 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
|
193 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
|
194 |
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 .. 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
|
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 <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
|
198 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
|
199 |
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 .. _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
|
201 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
202 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
|
203 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
|
204 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
205 .. 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
|
206 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
207 [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
|
208 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
|
209 |
602 | 210 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
|
211 |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
212 .. code-block:: xml |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
213 |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
214 <sh:exec executable="echo" |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
215 args="Slave: ${family} ${os} ${version} ${machine} ${processor}"/> |
4dc38daaeca0
0.6dev: Some minor additions to configuration docs, related to #122.
osimons
parents:
599
diff
changeset
|
216 |
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
|
217 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
|
218 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
|
219 |
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
|
220 .. 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
|
221 |
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
|
222 <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
|
223 |
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
|
224 |
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
|
225 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
|
226 ============== |
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 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
|
229 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
230 .. 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
|
231 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
232 [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
|
233 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
|
234 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
|
235 |
b76e6accad72
0.6dev: Added Configuration documentation. It contains all configuration information I've found in the wiki and source code.
osimons
parents:
diff
changeset
|
236 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
|
237 by the slave, and will not be passed to the master as active configuration. |