Deploy Extractions Using Git Version Control
The following article describes versioning of newly developed extractions using Git.
Versioning ensures a seamless synchronization of new developments on a test environment with the productive system. The implementation of various Git security techniques ensures an error-free transfer without compromising the production system.
Note
Target audience: Customers who use a production and a development environment for SAP data replications.
Prerequisites
- Technically separate development and production environment.
- Developers have read-only access to Xtract Universal on the production system.
- Git client installed locally on the development environment and the production environment, e.g., Fork.
- The Xtract Universal installation must have the identical release version on the servers.
Set Up a new Environment
- Create a new Git repository. How to do this depends on the technology you use, e.g.:
- Clone the repository into the installation directory of Xtract Universal, e.g.,
C:\Program Files\XtractUniversal
.
The repository directory must be namedconfig
! - 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.
Set Up an existing Environment
- Create a new Git Repository. How to do this depends on the technology you use, e.g.:
- Initialize a local repository in the installation directory of Xtract Universal, e.g.,
C:\Program Files\XtractUniversal\config
using the commandgit init
.
- Attach the remote repository to your local one using the command
git remote add origin [ssh/https]://git-server-address/path/to/repo.git
. - Commit the current
config
folder.
Advantage & Usage of Versioning
- 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.
- Versioning enables quick and easy rollbacks of changes by reverting them in Git and is agnostic towards the use of containers (such as Docker).
Note
This scenario can also be implemented with Azure DevOps and Git. For more information, see Microsoft Documentation.
Releated Links
- GitForWindows Download
- Manual Migration to a Different Machine
- Getting Started - About Version Control
- Git Basics - Getting a Git Repository
- Git Branching - Branches in a Nutshell
- Distributed Git - Distributed Workflows
- Git Basics - Undoing Things
Written by: Fabian Steffan