Replication Import Details

The following sections explain how replication import processing is done for each kind of object that is imported.

Environments

Environments that are exported are automatically selected for import. However, they can be de-selected in the import details if needed.

An environment is created on the target server if an environment with the given name does not already exist. If an environment with the given name already exists and its ID is different from the ID of the imported environment, an error is generated and the import operation is cancelled. During environment creation, the set of resources and resource groups associated with the environment are recreated on the target server based on resource and resource group IDs.

A list of resources and resource groups are recreated for the existing environment if the Override resource mapping option is specified during the import procedure.

Component Templates

Component templates are fully imported to the target server. If a component template with the given name already exists and its ID is different from the ID of the imported component template, an error is generated and the import operation is cancelled. If the IDs match, a new version of component template is created based on the data provided in the data file.

Components

Components are fully imported to the target server. Component versions (artifacts) contained in a data file are imported as well. If a component with the given name already exists and its ID is different from the ID of the imported component, an error is generated and the import operation is cancelled. If the IDs match, the existing component parameters are overridden based on the data provided in the data file. If the component was deleted on the target server but it exists in a data file, the component is recreated on the target server.

Old versions (artifacts) are not deleted, but any new versions are imported to the component. There are no limitations on using component version type for imported component versions. Both full and incremental modes are fully supported by the import procedure.

Global Processes

Global processes are fully imported to the target server. If a global process with the given name already exists and its ID is different from the ID of the imported global process, an error is generated and the import operation is cancelled. If the IDs match, a new version of the global process is created based on the data provided in the data file.

Applications

Applications that are exported are automatically selected for import. However, they can be de-selected in the import details if needed.

Applications are fully imported to the target server. If an application with the given name already exists and its ID is different from the ID of the imported application, an error is generated and the import operation cancelled. If the IDs match, the existing application parameters are overridden based on the data provided in the data file.

Environment to environment linkage will be performed based on environment names rather than IDs.

Component mapping are performed based on the existing resource set. If some of the resources are missing, they are omitted during the component mapping import.

Application snapshots are fully imported, including dependencies on the component versions, application processes, component processes, properties, and other objects. During the import procedure, the snapshots are automatically linked to the imported versions of the corresponding objects used on the target environment.

Resources

Resources are fully imported to the target server. If a resource with the given name already exists and its ID is different from the ID of the imported resource, an error is generated and the import operation cancelled. If the IDs match, the existing resource parameters are overridden based on the data provided in the data file.

If an environment is deselected for the import and resources are dependent on that environment, those resources will not be imported.

Resource Groups

Resource group meta-information is fully imported to the target server.

Agent Pools

Only basic meta-information related to agent pools is imported to the target server.

Plugins

During the import procedure, all plugins with the same version as those contained in the data file are overridden on the target server. Plugins added on the target server are not deleted during the import procedure.

Statuses

The same rules apply as for the Resources import.

Notification Schemas

The same rules apply as for the Resources import.

Resource Roles

The same rules apply as for the Resources import.

Security Roles

The same rules apply as for the Resources import.

Pipelines

The same rules apply as for the Resources import.

If an environment is deselected for the import and it is part of a pipeline, that pipeline will not be imported.

Versioned Objects

Versioned objects, such as property sheets and processes, are imported according to the merge technique described below. According to this technique, new versions are added on the target server.

The following example explains what happens if the Versioned objects option is specified as All.

  1. Assume there are 2 versions of a property sheet on the master server:

    Master 1, 2

  2. The replication procedure recreates these versions on the slave server:

    Slave 1, 2

  3. After this, a release engineer decides to make some changes on the slave server:

    Slave 1, 2, 3*

  4. Another release engineer makes changes on the master server:

    Master 1, 2, 3

  5. In the end, replication is performed and all versions added on the master server since the last import will be imported as new versions.

    Master 1, 2, 3*, 4 (3)

In this example, if there was a snapshot referring to version 3 on the master server, it will refer to version 4 on the slave server after the import procedure is performed.

The replication mechanism keeps track of all the imports that were previously performed on the target environment and during import, omits versions that have already been imported to the target environment. In the preceding example, versions 1 and 2 from the source server won't be imported to the target sever during the second import because they were already imported during the first import.

This technique can be used to get rid of unnecessary versions on the slave server during the replication procedure. The following example explains what happens if the Versioned objects option is specified as Deployed.

  1. Assume that we have 2 versions of a property sheet on the master server and only version 2 is used by the deployed process:

    Master 2

  2. The replication procedure recreates this version on the slave server:

    Slave 1(2)

In the example above, if there was a snapshot referring to version 2 on the master server, it will refer to version 1 on the slave server after the import procedure is performed.