Skip to main content

Troubleshooting Deployment Definition

Possible Errors

There are a few errors that can occur when trying to use commands with a Deployment Definition.

  1. File intersection.
    1. With another file.
    2. With an excluded file.
  2. Multiple Deployment Definitions in the same directory.

File intersection

Using a Deployment Definition is a separate logical grouping than files or directories.

With Another File

If the set of files a Deployment Definition is responsible for intersects with other items in the command, the following error will occur:

Command: ugs deploy Assets/DeployableAssets/CloudCode/CloudCode.ddef Assets/DeployableAssets/CloudCode/scriptA.js

Assets/
├── DeployableAssets/
│ ├── CloudCode/
│ │ ├── CloudCode.ddef
│ │ ├── scriptA.js
│ │ ├── scriptB.js
│ │ └── Tests/
│ │ ├── scriptA_test.js
│ │ └── scriptB_test.js
[Error]:
A conflict was found between the deployment definitions and the other arguments:
'Assets/DeployableAssets/CloudCode/scriptA.js' [CloudCode.ddef]

With an Excluded File

If the set of excluded files for a Deployment Definition intersects with other items in the command, the following error will occur:

Command: ugs deploy Assets/DeployableAssets/CloudCode/CloudCode.ddef Assets/DeployableAssets/CloudCode/scriptA.js

Assets/
├── DeployableAssets/
│ ├── CloudCode/
│ │ ├── CloudCode.ddef
│ │ ├── scriptA.js
│ │ ├── scriptB.js
│ │ └── Tests/
│ │ ├── scriptA_test.js
│ │ └── scriptB_test.js
[Error]:
A conflict was found between the deployment definition exclusions and the other arguments:
'Assets/DeployableAssets/CloudCode/Tests/scriptA_test.js' [CloudCode.ddef]

Multiple Deployment Definitions in a Directory

Given that a Deployment Definition is responsible for a whole directory, having multiple Deployment Definition in the same directory will cause an error when trying to execute a command that involves them.

Command: ugs deploy Assets/DeployableAssets/CloudCode/CloudCode.ddef Assets/DeployableAssets/CloudCode/scriptA.js

Assets/
├── DeployableAssets/
│ ├── CloudCode/
│ │ ├── CloudCode1.ddef
│ │ ├── CloudCode2.ddef
│ │ ├── scriptA.js
│ │ ├── scriptB.js
│ │ └── Tests/
│ │ ├── scriptA_test.js
│ │ └── scriptB_test.js
[Error]:
Multiple deployment definitions were found in the directory 'Assets/DeployableAssets/CloudCode': 'CloudCode1.ddef' and 'CloudCode2.ddef'

Fetch with --reconcile

As mentioned in the commands page, it is not possible to use the --reconcile with the fetch command when using Deployment Definition.

Attempting to do so will generate the following error message:

[Error]:
Reconcile is not compatible with Deployment Definitions