Set up a Dimensions deployment server

You can perform Dimensions deployment operations asynchronously in the background. A Dimensions CM server component called the deployment server performs the asynchronous processing.

Deployment server overview

The following diagram illustrates the Dimensions CM business logic tier with the deployment server (dmdeploysrv.exe):

The pool manager starts the deployment server. The deployment server then reads the DM_ROOT/dfs/deploy_config.dat configuration file and begins to monitor the deployment job queues for any jobs that need to run in each base database.

As users run deployment-related commands, such as promote, demote, build, and audit, these commands submit new deployment jobs into the deployment job queue of the base database. A deployment job includes the following information:

  • The type of the operation to be performed, for example, deploy, rollback, build, audit, or clean.

  • The deployment areas where to run the deployment job.

  • Where appropriate, the set of Dimensions CM artifacts to be applied to each area, for example, the items and requests to be deployed to an area.

As new deployment jobs are added to the deployment job queue, the deployment manager automatically reads the details of the new jobs and runs them.

Back to top

Deployment rules

The deployment server uses the following rules to run deployment jobs, which ensures that jobs are processed efficiently:

  • When a deployment job is selected to run, the affected deployment areas are locked by the deployment manager. This ensures that no other deployment job can run in the areas until the deployment job finishes. After the job is completed, the areas are automatically unlocked.

  • When a deployment job affects multiple deployment areas it runs concurrently in as many deployment areas as possible, depending on:

    • The sequence numbers assigned to each area. For details about setting sequence numbers, see Set deployment sequence.

    • The availability of system resources such as free application servers in the pool.

  • Deployment jobs submitted in a single user session run sequentially in the order that they were submitted as soon as all the deployment areas affected by each job are available.

  • Deployment jobs submitted from different user sessions run concurrently in the order that they were submitted as soon as all the deployment areas affected by each job are available.

The deployment server does not access the deployment areas. Instead, it uses application servers to perform database metadata queries, obtain connections to library servers on deployment area nodes, and carry out the deployment operations in each area.

Back to top

Deployment server setup

A single deployment server process can monitor one or more deployment queues in multiple base databases. To configure the deployment server, you set the global and the base database parameters in <DM_ROOT>/dfs/ deploy_config.dat file.

By default, the configuration file is set up by the installer to monitor the default database in the <DM_ROOT>/dfs/ listener.dat listener configuration file.

Global parameters

The global parameters in deploy_config.dat apply to all base databases.

Parameter Description


Specify this parameter if you want to:

  • Enable logging.

  • Redirect the log to a file in the directory specified by this variable.

By default, the logging is disabled.


Specifies the timeout after which the deployment server closes unused application server connections. To keep unused connections in the connection pool until the deployment server terminates, set the parameter to 0.

Default timeout: 60.

Base database parameters

The base database parameters in deploy_config.dat are database-specific.

Parameter Description

Specifies one or more databases to be monitored for new deployment jobs.
Use this format: database_[n]

where n = 1, 2, 3, ...

You must specify at least one database. Otherwise the deployment server remains inactive.


Specifies the application server host name and port for the databases that correspond to the parameters database and database_[n].

By default, the local host name is used.


Specifies the deployment queue service user account. This is a registered Dimensions CM user that is used to read and initiate deployment job processing in databases that correspond to the parameters:

  • database
  • database_[n]
  • host

  • host_[n]

Default account: dmsys.

You must register the passwords corresponding to the Dimensions CM users in DM_ROOT/dfs/ registry.dat, using the dmpasswd utility.


Specifies the number of threads to use for running deployment jobs in the databases that correspond to the parameters:

  • database
  • database_[n]
  • host

  • host_[n]

Default number of threads: 20.

Back to top

Configuration examples

Use the following examples to help you set up your deployment server.

Back to top

See also: