Page History
Table of Contents |
---|
under construction!!!
Introduction
JS7 JOC should be able to connect to GIT Git repositories to store JS7 configuration objects. Configuration objects can be versionized versioned (tagged) and rolled out to different JS7 instances via GITGit.
The usage Use of GIT Git somewhat conrtradicts contradicts the usage use of a database as the leading system to store configuration data.
JS7 is the leading system to store configuration data. A connection to a GIT repository can only be seen as an additional oportunity opportunity to versionize version and to rollout JS7 configuration objects.
Configuration Objects
Configuration objects to be stored in a GIT Git repository:
- Workflows
- Locks
- File Order Sources
- Job Resources
- Boards
- Calendars
- Schedules
GIT Repository Usage
The JOC web services execute a set of GIT Git commands with the implementation of JGit.
...
JS7 configuration objects are stored to a GIT Git repository via JOC web services.
...
Versioning of JS7 configuration objects will be done with the tagging functionality of GITGit.
The JOC web services Cockpit Web Services can manage the GIT Git tagging process.
Commands / Services
...
Rollout between different JS7 instances can be performed with the GIT Git functionality.
The JOC web services Cockpit Web Services manage the checkout- and clone processes.
...
Overwrites forcefully a target connfguration confguration with the chosen source configuration.
Note |
---|
|
The JOC web services manage the force overwrite process.
A force direction has to be provided.
Commands / Services
- JS7 instance → GIT instance → Git repository
- git-add
- Adds (new) configuration object(s) from a working copy (currently the DB) to a local repository.
- git-delete
- Removes an already added configuration object from the local repository.
- git-commit
- Commits newly added, changed or removed configuration objects to a local repository.
- git-push
- Pushes the changes from the local repository to the connected remote repository.
- git-add
- GIT Git repository → JS7 instance
- git-checkout
- checks out a specific branch or tag from the repository.
- git-clone
- clones a repository locally for the first time.
- git-pull
- pulls the recent changes from the remote repository into the local repository
- git-checkout
Use Cases
Single Client (Single Branch)
Usage:
- The GIT Git repository is used as a backup storage for JS7 configuration objects.
- Additionally, the GIT Git repository is used to version stored JS7 configuration objects.
...
- storage
- versioning
- rollout
Requirements
- The JOC Cockpit database is the leading system holding the current configuration objects.
dev, test, prod - Single Client (Multiple Branches)
Usage:
- The GIT Git repository is used as a backup storage for JS7 configuration objects.
- Additionally, the GIT repository is used to version stored JS7 configuration objects.
- The GIT Git repository is used to rollout JS7 configuration objects to different JS7 instances (e.g. dev → test → prod).
...
- storage
- versioning
- rollout
- force overwrite
Requirements
- The JOC Cockpit database is the leading system holding the current configuration objects.
- each JS7 instance is connected to its own database
- each branch is connected to one JS7 instance
- each branch has its own version
- merges between branches have to be performed outside of JOC Cockpit
- force overwrite is possible
dev, test, prod - Multiple Clients (Multiple Branches)
Usage:
- The GIT Git repository is used as a backup storage for JS7 configuration objects.
- Additionally, the GIT Git repository is used to version stored JS7 configuration objects.
- The GIT Git repository is used to rollout JS7 configuration objects to different JS7 instances (e.g. dev → test → prod).
- The GIT Git repository is used to merge different changes from different clients in one JS7 instance outside of JOC Cockpit
GIT Git repository usage:
- storage
- versioning
- rollout
- force overwrite
Requirements
- The JOC Cockpit database is the leading system holding the current configuration objects.
- each JS7 instance is connected to its own database
- each branch is connected to one JS7 instance
- each branch has its own version
- merges between branches have to be performed outside of JOC Cockpit
- merges inside one a branch are performed inside of JOC Cockpit but only force overwrite is supported
...