Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

construction!!!
Info
title
under
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. This allows to create and to test workflows in a development environment and to perform a roll-out rollout 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 rollouts of JS7 configuration objects.

...

  • git-tag
    • tags the current commit with a version label
  • git-push
    • see above

Roll-out

Rollout

Rollout Roll-out between different JS7 instances can be performed by use of the Git functionality.

...

Flowchart
USER1 [label="   User: 1   ",fillcolor="lightskyblue"]
USER2 [label="   User: 2   ",fillcolor="lightskyblue"]
USER3 [label="   User: 3   ",fillcolor="lightskyblue"]
JOC1 [label="   JOC Cockpit   ",fillcolor="lightskyblue"]
DATABASE [shape="ellipse",label="     Database     ",fillcolor="lightskyblue"]
REPO [label="    Git Repository    ",fillcolor="orange"]
BRANCH1 [shape="ellipse",label="    Single Branch    ",fillcolor="orange"]

JOC1 -> BRANCH1 [label="   Commit/Push\nPull   "]
# BRANCH1 -> JOC1 [label="   Pull   "]
BRANCH1 -> REPO

JOC1 -> DATABASE

USER1 -> JOC1
USER2 -> JOC1
USER3 -> JOC1

Repository Operations

  • management
  • versioning
  • roll-outrollout

Requirements

  • The JOC Cockpit database is the leading system holding the configuration objects.

...

  • The Git repository is used to hold a copy copies of JS7 configuration objects in branches.
  • Additionally, the Git repository is used to version JS7 configuration objects.
  • The Git repository is used to merge branches and to rollout JS7 configuration objects to different JS7 instances (e.g. dev , such as Dev => test Test => prod)Prod.


Flowchart
USER1 [label="   User: 1   ",fillcolor="lightskyblue"]
USER2 [label="   User: 2   ",fillcolor="lightskyblue"]
USER3 [label="   User: 3   ",fillcolor="lightskyblue"]

JOC1 [label="   JOC Cockpit: Dev   ",fillcolor="lightskyblue"]
JOC2 [label="   JOC Cockpit: Test   ",fillcolor="lightskyblue"]
JOC3 [label="   JOC Cockpit: Prod   ",fillcolor="lightskyblue"]

DATABASE1 [shape="ellipse",label="     Database: Dev     ",fillcolor="lightskyblue"]
DATABASE2 [shape="ellipse",label="     Database: Test     ",fillcolor="lightskyblue"]
DATABASE3 [shape="ellipse",label="     Database: Prod     ",fillcolor="lightskyblue"]
REPO [label="    Git Repository    ",fillcolor="orange"]

BRANCH1 [shape="ellipse",label="    Branch: Dev    ",fillcolor="orange"]
BRANCH2 [shape="ellipse",label="    Branch: Test    ",fillcolor="orange"]
BRANCH3 [shape="ellipse",label="    Branch: Prod    ",fillcolor="orange"]

JOC1 -> DATABASE1
JOC2 -> DATABASE2
JOC3 -> DATABASE3

JOC1 -> JOC2BRANCH1 [label="   exportCommit/importPush\nPull   "] 
JOC2 -> JOC3BRANCH2 [label="   exportCommit/importPush\nPull   "]

JOC1JOC3 -> BRANCH1BRANCH3 [label="   Commit/Push\nPull   "]

BRANCH1 -> JOC1BRANCH2 [label="  merge Pull   "]

JOC2 -> BRANCH2 [label="   Commit/Push   "]
BRANCH2 -> JOC2 [label="   Pull   "]

JOC3 -> BRANCH3 [label="   Commit/Push   "]
BRANCH3 -> JOC3 [label="merge   Pull   "]

BRANCH1 -> REPO
BRANCH2 -> REPO
BRANCH3 -> REPO

USER1 -> JOC1
USER2 -> JOC2
USER3 -> JOC3

Repository Operations

  • management
  • versioning
  • roll-outrollout
  • force overwrite

Requirements

  • The JOC Cockpit database is holds the leading system holding the current configuration objects:
    • each JOC Cockpit instance is connected to its own database.
    • each branch is connected to an individual JOC Cockpit instance.
    • the database can be updated from a branch.
  • each branch makes use of its own version of configuration objects.
  • force overwrite is possible.

Multiple Clients - Multiple Branches (dev, test, prod)

...

  • The Git repository is used to hold a copy of JS7 configuration objects.
  • Additionally, the Git repository is used to version JS7 configuration objects.
  • The Git repository is used to roll-out merge branches and to rollout JS7 configuration objects to different JS7 instances (e.g. dev such as Dev => test Test => prod)Prod.


Flowchart
USER1USER1a [label="   User: 1a   ",fillcolor="lightskyblue"]
USER1b [label="   User: 1b   ",fillcolor="lightskyblue"]
USER1c [label="   User: Browser   1c   ",fillcolor="lightskyblue"]
USER2 [label="   User: Browser   2   ",fillcolor="lightskyblue"]
USER3 [label="   User Browser   : 3   ",fillcolor="lightskyblue"]

JOC1a [label="   JOC Cockpit: Dev 1a  ",fillcolor="lightskyblue"]
JOC1b [label="   JOC Cockpit: Dev 1b  ",fillcolor="lightskyblue"]
JOC1JOC1c [label="   JOC Cockpit      JOC Cockpit: Dev 1c  ",fillcolor="lightskyblue"]
JOC2 [label="   JOC Cockpit: Test   ",fillcolor="lightskyblue"]
JOC3 [label="   JOC Cockpit   Cockpit: Prod   ",fillcolor="lightskyblue"]

DATABASE1a [shape="ellipse",label="     Database: Dev 1a    ",fillcolor="lightskyblue"]
DATABASE1b [shape="ellipse",label="     Database: Dev 1b    ",fillcolor="lightskyblue"]
DATABASE1c [shape="ellipse",label="     Database: Dev 1c    ",fillcolor="lightskyblue"]
DATABASE2 [shape="ellipse",label="     Database: Test     ",fillcolor="lightskyblue"]
DATABASEDATABASE3 [shape="ellipse",label="     Database: Prod     ",fillcolor="lightskyblue"]
REPO [label="    Git Repository    ",fillcolor="orange"]

BRANCH1 [shape="ellipse",label="    Branch: Dev    ",fillcolor="white"]

JOC1="orange"]
BRANCH2 [shape="ellipse",label="    Branch: Test    ",fillcolor="orange"]
BRANCH3 [shape="ellipse",label="    Branch: Prod    ",fillcolor="orange"]

JOC1a -> DATABASE1a
JOC1b -> DATABASE1b
JOC1c -> DATABASE1c
JOC2 -> DATABASE2
JOC3 -> DATABASE3

JOC1a -> BRANCH1 [label="   Commit/Push\nPull   "]
JOC1b -> BRANCH1 [label="   Commit/Push\nPull   "]
JOC1c -> BRANCH1 [label="   Commit/Push\nPull   "]
JOC2 -> BRANCH2 [label="   Commit/Push\nPull   "]
JOC3 -> BRANCH3 [label="   Commit/Push\nPull   "]

BRANCH1 -> BRANCH2 [label="   merge   "] 
BRANCH2 -> BRANCH3 [label="   merge   "] 

BRANCH1 -> REPO

JOC1BRANCH2 -> REPO
BRANCH3 -> DATABASEREPO

JOC2USER1a -> DATABASE

USER1JOC1a
USER1b -> JOC1b
USER1c -> JOC1JOC1c
USER2 -> JOC1JOC2
USER3 -> JOC2JOC3

Operations

  • management
  • versioning
  • roll-outrollout
  • force overwrite

Requirements

  • The JOC Cockpit database is the leading system holding holds the configuration objects:
    • each JOC Cockpit instance is connected to its own database.
    • each branch is connected to one JOC Cockpit instance.
  • Each branch makes use of an individual version.
  • Each user (client) 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.

...