Configure the master server for the build server

On the master server, configure the build server. We might name the build server build-1667 because we will configure it to use port 1667:

$ p4 server build-1667

A default server spec appears.

Spec configuration

On the master server, configure the server spec for the build server by adding some configurables and setting their values. In this example, the ServerID is build-1667, the build server host name is build, and its Address is build:1667:

ServerID:	build-1667
Name:		build-1667
Type:		server
Services:	build-server
Address:	build:1667
DistributedConfig:
	db.replication=readonly
	lbr.replication=readonly
	lbr.autocompress=1
	startup.1=pull -i 1
	startup.2=pull -u -i 1
	startup.3=pull -u -i 1
	P4TARGET=master:1666
	serviceUser=service
	monitor=1 # optional but required if using the 'p4 monitor show' command
	journalPrefix=/p4/journals/build # recommended
	P4TICKETS=/p4/.p4tickets # recommended
	P4LOG=/p4/logs/build.log # recommended
Description:
    Build server pointing to master:1666
Note
  • For the optional fields, you can use your own naming conventions.
  • For the Address field, see Communicating port information.
  • The DistributedConfig: section might contain fields starting any#, such as

    any#P4LOG=perforce.log

    any#serverlog.file.2=logs/commands.csv

    These are options configured on the master server that, by default, apply to any server for which it is a master. To override such a configurable for the replica, add it before or after the fields containing any#

    For example:

    any#P4LOG=perforce.log

    any#serverlog.file.2=logs/commands.csv

    P4LOG=perforce.read-only.log

    serverlog.file.2=logs/my-subdirectory/commands.csv

Service user creation

In replicated and multi-server environments, a service user is required. See p4 user in the Helix Core Command-Line (P4) Reference.

  1. Create the service user for the build server. For example:

    $ p4 user -f service

    The default user specification opens in your default editor. To make this user be of type service, add the following line:

    Type: service
  2. Save the user specification and exit your default editor.
  3. Use the p4 group command to create a group for your service users and set the value of the timeout field. To avoid service users being logged out, consider using unlimited as the Timeout value. See Service users.

  4. Set the service user group protections to super in your protections table. See Service users.

  5. Set the level of security to 3 or higher on the master server. See Server security levels.
    For example,
    $ p4 configure set security=4
  6. Ensure the service user is protected with a password:
    $ p4 passwd service

Next step

Configure the build server