Page History
Table of Contents |
---|
Info | ||
---|---|---|
| ||
under construction!!! |
Introduction
- JS7 JOC
...
- Cockpit can be
...
- configured to connect to Git repositories to store
...
- its configuration objects such as workflows and jobs.
- Configuration objects can be versioned (tagged) and can be rolled out to different JS7 instances via Git.
...
Use of Git somewhat contradicts the use of a database as the leading system to store configuration data.
...
- This allows to create and to test workflows in a development environment and to perform a roll-out to a production environment by use of a Git repository.
- JOC Cockpit is the leading system to store configuration
...
- objects in its database. A connection to a
...
- Git repository is considered an additional option manage versions and roll-outs of JS7 configuration objects.
Configuration Objects
Configuration objects to that can be stored in a Git repository :include
- Workflows
- Locks
- File Order Sources
- Job Resources
- Notice Boards
- Calendars
- Schedules
...
Settings
Configuration Items Settings are configuration properties for JOC Cockpit to function work properly. The configuration items for JOC Cockpit to work with a Git repository are:include
git_repository_url
- Url URL of the remote repository to connect to
git_account
- account that it used to connect to Git
git_key_file
- filename file name of the private key file
git_access_token
- access token for the Git access
Either git_key or git_token can be used exclusively.
GIT Repository Usage
The JOC web services execute a set of Git commands with the implementation of JGit.
...
- as an alternative to use of a private key file
The JOC Cockpit user menu offers the "Settings" menu item that displays the settings group git
:
Status | ||||
---|---|---|---|---|
|
Git Repository Usage
The JS7 - REST Web Service API executes a set of Git operations by use of the JGit implementation.
Management
JS7 configuration objects are stored to managed in a Git repository via JOC web services.the JS7 REST Web Service API.
The following operations are available:Commands / Services
git-add
- Adds adds (new) configuration object(s) objects from a working copy (currently the DB) to a local repository.
git-delete
- Removes removes an already added configuration object from the local repository.
git-commit
- Commits commits newly added, changed updated or removed configuration objects to a local repository.
git-push
- Pushes the pushes changes from the local repository to the connected remote repository.
Versioning
Versioning of JS7 configuration objects will be done is performed with the tagging functionality capabilities of Git.
The JOC Cockpit Web Services can manage JS7 REST Web Service API manages the Git tagging process.Commands / Services
The following operations are available:
git-tag
- tags the current commit with a version label
git-push
- see above
Rollout
Roll-out
Roll-out Rollout between different JS7 instances can be performed with the Git functionality.
The JOC Cockpit Web Services manage the checkout- and clone processes.Commands / ServicesJS7 REST Web Service API manages the processes for checkout and cloning.
The following operations are available:
git-checkout
- checks out a specific branch or tag from the repository.
git-clone
- initially clones a repository locally for the first time.
git-pull
- pulls the recent changes from the remote repository into to the local repository
Force Overwrite
Overwrites forcefully Forcefully overwrites a target confguration configuration with the chosen source configuration .
Note |
---|
|
The JOC web services manage the force overwrite process.
A force direction has to be provided.
Commands / Services
in use.
The JS7 REST Web Service API manages to forcefully overwrite configuration objects in the Git repository.
The following operations are available depending on the force direction:
- JS7 JOC Cockpit instance => Git JS7 instance → Git repository
git-add
- Adds adds (new) configuration object(s) objects from a working copy (currently the DB) to a local repository.
git-delete
- Removes removes an already added configuration object from the local repository.
git-commit
- Commits commits newly added, changed or removed configuration objects to a local repository.
git-push
- Pushes pushes the changes from the local repository to the connected remote repository.
- Git repository → repository => JS7 JOC Cockpit instance
git-checkout
- checks out a specific branch or tag from the repository.
git-clone
- initially clones a repository locally for the first time.
git-pull
- pulls the recent changes from the remote repository into to the local repository
Note |
---|
|
Use Cases
Single Client
...
- Single Branch
...
...
Scenario
- The Git repository is used as a backup storage for JS7 configuration objects.
- Additionally, the Git repository is used to version stored version JS7 configuration objects.
GIT repository usage:
Repository Operations
- managementstorage
- versioningrollout
- roll-out
Requirements
- The JOC Cockpit database is the leading system holding the current configuration objects.
Single Client - Multiple Branches (dev, test, prod
...
)
...
Scenario
- The Git repository is used as a backup storage for to hold a copy of JS7 configuration objects.
- Additionally, the GIT repository is used to version stored version JS7 configuration objects.
- The Git repository is used to rollout JS7 configuration objects to different JS7 instances (e.g. dev → => test → => prod).
GIT repository usage:
Repository Operations
- managementstorage
- versioningrollout
- roll-out
- 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 instancean individual JOC Cockpit instance.
- each branch has makes use of its own version
- force overwrite is possible
Multiple Clients - Multiple Branches (dev, test, prod
...
)
...
Scenario
- The Git repository is used as a backup storage for to hold a copy of JS7 configuration objects.
- Additionally, the Git repository is used to version stored version JS7 configuration objects.
- The Git repository is used to rollout roll-out JS7 configuration objects to different JS7 instances (e.g. dev → => test → => prod).
Git repository usage:
Operations
- managementstorage
- versioning
- rollout
- force overwrite
...
- The JOC Cockpit database is the leading system holding the current configuration objects.:
- each JS7 JOC Cockpit instance is connected to its own database.
- each branch is connected to one JS7 JOC Cockpit instance.
- each branch has its own version
- Each branch makes use of an individual version.
- Each As JOC Cockpit will not support Git merge operation each user (client) has to have his/her own makes use of an individual JOC Cockpit instance.
- If merging of configuration objects is required then additional tools such as Git Extensions can be used.