Overview
Before requesting personal builds, you must configure the client. Required configuration includes the URL and credentials used to contact the pulse™ server, the details of which project and build specification to execute, and potentially some SCM-specific configuration.
Configuration
Automatic Configuration
If the personal build client is detects that some required configuration is missing, it will attempt to fill in the necessary information by prompting for input. This is the simplest way to configure a new work environment. The configuration gathered is stored in two places:
- Your home directory: configuration likely to be shared among multiple projects (e.g. the address of the pulse™ server) will be stored in a properties file in your home directory.
- The current working directory: configuration specific to one project will be stored in a properties file in the directory where the personal build client was invoked.
For best results, invoke the client from the base directory of your working copy. For more information regarding the properties files created, see below.
Configuration Files
The primary way to provide configuration details is via properties files. The personal build client searched for properties files named ".pulse.properties", and applies the configuration found within them. Properties files are searched for in the following way:
- The client checks for a ".pulse.properties" file in its own working directory (i.e. the directory from where the client was executed).
- The client then checks the parent of the working directory, and then its parent, and so on to the root of the filesystem.
- Finally, the client will check in the user's home directory.
All properties files found will be used to form the configuration details. If a property is present in two or more files, the file found earliest in the search will take precedence over those found later. You can also provide and/or override properties using command-line arguments, see Requesting Personal Builds for details.
This system of properties files allows you to store configuration shared between multiple projects in one file, and then use a properties file in each of your working copies for configuration specific to a project. For example, say you work on two projects "p1" and "p2". You check these projects out into directories under a single "work" directory:
These projects are both built using the same pulse™ server. To configure the personal build client for both projects, you can use three properties files:
This layout allows common configuration to be shared instead of duplicated for each project.
Configuration File Format
The properties files use the standard Java format. This is a simple format for specifying key-value pairs. Each pair is specified on its own line, with the key and value separated by an equals sign ('='). For example, to set the property 'myproperty' to the value 'example value', you would use the following line:
Configuration Properties
Core Properties
The core properties are all required to execute a personal build.
| Property |
Description |
Required? |
Default |
Example |
| pulse.url |
The URL of the pulse™ server. |
Yes |
None. |
http://pulse.example.com |
| pulse.user |
Your pulse™ login name. |
No |
Your operating system account name. |
jblogs |
| pulse.password |
Your pulse™ password. |
No |
Prompt. |
mysecret |
| project |
The name of the pulse™ project that the working copy corresponds to. |
Yes |
None. |
myproject trunk |
| specification |
The name of the build specification to build. |
No |
Project default specification. |
continuous build |
Confirmation Properties
These are properties that control when the personal build client will perform certain checks and/or ask for confirmation before proceeding. They may be automatically set by the client when you respond to confirmations.
| Property |
Description |
Default |
| check.repository |
If true, the client will verify (where possible) that the working copy repository details match that of the specified pulse™ project. |
true |
CVS-Specific Properties
These properties are only used for CVS working copies.
| Property |
Description |
Required? |
Default |
Example |
| cvs.password |
Your CVS password. |
No |
Prompt. |
mysecret |
Subversion-Specific Preferences
These properties are only used for Subversion working copies.
| Property |
Description |
Required? |
Default |
Example |
| svn.username |
Your subversion user name. |
No |
Your operating system account name. |
jblogs |
| svn.password |
Your subversion password. |
No |
Prompt. |
mysecret |
| svn.keyfile |
The path to a private key file to use for SSH authentication. |
No |
None. |
/home/jblogs/.ssh/id_dsa |
| svn.passphrase |
The passphrase to use to access the specified key file. |
No |
None. |
mypassphrase |
| svn.allow.externals |
By default, personal builds are not allowed for working copies with svn:externals. This is due to the fact that replicating the client working copy state is not always possible with externals. Setting this property to true will allow personal builds even if externals are used, and in many cases it will work sufficiently well. |
No |
false |
true |
Example
A basic all-in-one properties file for a project named "myproject trunk":