Deployment schemas

Required Roles n/a
Required Rights
(by category)
Infrastructure Items
Deployment Schemas
Perspective  Configuration Management
Access  DROPS Server Configuration →  Deployment Schemas

Deployment schemas are sets of deployment rules used to change the destination location for artifacts when they are deployed to an infrastructure item. During regular deployment, the transferred artifacts are copied to the Root Directory destination defined in the infrastructure item following the same directory structure defined in the parent component. However, you may need to change this location for a certain group of artifacts.

Deployment rules are used to assign a replacement target path for a set of artifacts defined by a RegEx filter. During the transfer stage of the deployment process, if a deployment schema that has been added to an infrastructure item is selected, all of the artifacts in the component deployed are run through the rules' RegExes. Each artifact that matches a RegEx will be redirected to the corresponding replacement path. Regular expressions can only be applied at the file name-level but they take into account the artifact key. The key is the relative path to the artifact starting from its parent component.

Example

A Deployment rule defines a RegEx to find .SQL artifacts in the component deployed to an infrastructure item. No matter what the paths defined in the components are, any artifact that matches the .SQL RegEx is redistributed to the Target Path defined in the deployment rule. This enables you to regroup artifacts in your target service that come from multiple strategies which may each have a different source directory structure.

The ${arcad.sourcepath} substitution variable can be used in the Target Path field. It is replaced by the artifact Key (relative path in the artifact repository).

Deployment Rule example
DROPS Component directory structure <ArtifactRepository>scripts/myScript.sql
No Deployment Rule:
deployment path follows component directory structure
<RootDirectory>/scripts/myScript.sql
Deployment Rule:
*.sql → db/SQLScripts
<RootDirectory>/db/SQLScripts/myScript.sql
Deployment Rule:
*.sql → db/SQLScripts/${arcad.sourcepath}
<RootDirectory>/db/SQLScripts/scripts/myScript.sql

The deployment rules are sorted by a specific order defined by the user. The order of the rules is important because if an artifact matches several Rules, the target file name will be generated by the first rule it matches.

Important!

If an infrastructure item contains a deployment schema it will always be used. It is taken into account during the transfer stage of the deployment process.