Project Configuration Deployment and Inheritance
In
Codebeamer, project deployment means transfer of a project configuration from a source to a target instance. This is achieved by exporting the configuration to a file and importing it onto the target system. For more information, see
Project Configuration Deployment Across Codebeamer Instances.
If the projects are at the same level, the deployment file automatically includes all projects that depend on or are dependent on the project to be deployed. If a parent project has multiple child projects and you only export the parent, the parent project is exported, but the child projects are not exported. If you export a child project, both the child and the parent projects are exported. Reference target configurations and template-derived tracker relations are considered a dependency in this context.
The deployment only removes the inheritance relationship between the template tracker and the derived tracker. The complete consistent configuration in each derived tracker is preserved even if the template trackers are not included in the deployment.
To preserve the relationship between the template tracker and the derived tracker, see the
Initial Deployment
to Set Up the Configuration Instance section on this document.
Repeating a deployment updates all supported configuration settings. Settings will be overwritten but not deleted. For instance, the following settings are overwritten:
• Tracker Tree
• Tracker Permissions
• Tracker Fields
For tracker inheritance, see
Tracker Inheritance.
When exporting a source project, if the project has references to configuration settings that cannot be resolved, the export operation shows a warning and provides a list of broken references.
Similarly, the deployment (import of the deployment file) is successful if the deployment export does not introduce new invalid references not present on the source system, and there are no conflicting changes on the target system when comparing it with the source system.
A deployment import is successful even if invalid references were found during export if these were already present on the source system. The import is designed to allow invalid references that were present on the source system at the time of export. For example, a reference to a deleted entity will not break export or import, it is ignored on the target system.
If a deployment fails, the transaction is rolled back and no changes are made to the target system.
Handling of Conflicting Changes
Generally, deployment overrides the configuration in the target environment, but does not delete any existing configuration settings. Sometimes, this can lead to a situation where an updated configuration cannot be deployed because a conflicting configuration element already exists in the target tracker. In such a case, the deployment is terminated.
Locked Trackers
After deployment, all trackers are locked and their configuration settings cannot be modified. For more information, see
Considerations When Locking Trackers.
Supported Configuration Parts
The deployment includes supported settings of a project configuration including configuration items, and specific settings of the global configuration.
Settings pertaining to the following are supported:
• Shared Fields
• User Groups
• Project Categories
• Project
• Project Roles
• Reports
• Tracker Tree
• Trackers
◦ General Settings (excluding icons)
◦ Tracker Permissions
◦ Tracker Fields
◦ Items in following Tracker types:
▪ Configuration Items
▪ Release
▪ Component
▪ Platform
▪ Contact
▪ Test Set
▪ Test Configuration
▪ Team
▪ Area
Initial Deployment to Set Up the Configuration Instance
This works the same way as the general deployment but preserves the relationship between template and derived trackers.
To preserve the relationship between the template tracker and the derived tracker, set trackerHierarchyDeploymentEnabled to true in application configuration. When importing a tracker, ensure that the Import tracker inheritance checkbox is selected.
Deployment of Template Trackers
The Development or Test environment is used to configure a template project and deploy that project on Production, where the template project is used to derive projects from, based on the template trackers.
As explained, in one scenario, the deployment will remove the relationship between the template trackers. The complete consistent configuration in each derived tracker is preserved even if the template trackers are not included in the deployment.
In case of full deployment, updates in template trackers on subsequent deployments will update the derived trackers based on the deployed template trackers. The inheritance will process configuration changes applied by the deployment the same way manual changes are processed.