About #

The following article describes a versioning of newly developed extractions using Git and (optionally) the Git client Fork as an example.

With this implementation, new developments on a test environment of Xtract Universal can be transferred to the productive system and synchronized.

The implementation of various Git security techniques ensures an error-free transfer without compromising the production system.

Note: Target audience: Xtract Universal customers using a production as well as a development environment for SAP data replications.

Prerequisites #

  • Technically separate development and production environment of Xtract Universal.
  • Xtract Universal developers have read-only access to the Xtract Universal production system.
  • Git client installed locally on the development environment and the production environment, Fork as an example.
  • The Xtract Universal installations must have the identical release version on the different servers.

When setting up a new environment #

  1. Create a new Git Repository (How to do this depends on the technology you use. e. g.)
  2. Clone the repository into your XtractUniversal installation directory
  3. Use dedicated branches for test and development environments and the main branch for the production system

Tip: The initial initialization of the Git version control requires an empty config folder. For this reason, the existing config folder must first be renamed and then filled with the configuration files.

When setting up in an existing environment #

  1. Create a new Git Repository (How to do this depends on the technology you use. e. g.)
  2. Initialize a local repository in your XtractUniversal config directory with git init
    • the config directory should like this .git Folder-Repository
  3. Attach the remote repository to your local one with git remote add origin [ssh/https]://git-server-address/path/to/repo.git
  4. Commit the current config

By using the main branch for the production environment and development branches for the development or test environments the former is separated from the latter.

Applying appropriate and established techniques such as pull requests and Git user rights allows the changes to be checked and corrected in advance.

New developments can not cause fundamental damage to the data load of the productive landscape with this approach.

This architecture automatically enables quick and easy rollbacks of changes by reverting them in Gitand is agnostic towards the use of containers (such as Docker).

Note: This scenario can also be implemented with Azure DevOps and Git. For more details, please refer to the official Microsoft Documentation.