Graph-IT

A guide to Git (Screwerk Giwt-Apps)

In diesem Guide wird der Ablauf um ein neues Feature für eine Screwerk Giwt-App zu veröffentlichen erläutert.

Setup / Ordner Struktur

Unter /var/lib/graph/module/<Graphmodulprefix>/giwt findet man folgende Ordner Struktur

Ordner Verwendung
<giwtapp_name> Die Live-Version die aktuell verwendet wird.
<giwtapp_name>_preview Die Preview-Version, in diesem Ordner werden neue Features zur Abnahme bereitgestellt. Diese sollte immer eine funktionierende Version sein. Damit Sie vom Prozesseigner zum Release freigeben werden kann.
<giwtapp_name>_dev Die Entwickler-Version, in diesem Ordner werden neue Features entwickelt.

Remote Setup für die Ordner

Um Remote's in einem Ordner zu setzen siehe Git Remote.

Die Live-Version <giwtapp_name> hat als Remote origin den Preview Ordner <giwtapp_name>_preview.

origin ../<giwtapp_name>_preview (fetch)
origin ../<giwtapp_name>_preview (pull)

Die Preview-Version <giwtapp_name>_preview hat als Remote dev den Entwickler Ordner <giwtapp_name>_dev.

dev ../<giwtapp_name>_dev (fetch)
dev ../<giwtapp_name>_dev (pull)

Die Entwickler-Version <giwtapp_name>_dev hat als Remote origin den Preview Ordner <giwtapp_name>_preview.

origin ../<giwtapp_name>_preview (fetch)
origin ../<giwtapp_name>_preview (pull)

Entwicklung eines neuen Feature's

Entwicklung

Um ein neues Feature zu entwicklen wird in <giwtapp_name>_dev von dem entsprechenden Entwickler ein neuer Branch angelegt. Git Branch

git branch <feature-name>

In diesem <feature-name>-Branch kann der Entwickler beliebig Änderungen vornehmen. Ist das Feature fertiggestellt und getestet!, kann es unter /<giwtapp_name>_preview zur Abnahme bereitgestellt werden.

Zur Abnahme bereitstellen

Wir wechseln in den Ordner /<giwtapp_name>_preview. Dort holen wir uns die Änderungen aus /<giwtapp_name>_dev und checken diese aus.

git fetch dev <feature-name>
git checkout <feature-name>

Jetzt kann der Prozesseigner die Änderungen unter /<giwtapp_name>_preview einsehen und abnehemen.

Release

Nachdem die Änderungen durch den Prozesseigner abgenommen wurden, können diese in das Live-System übernommen werden. Dazu wird im /<giwtapp_name>_preview Ordner der master Branch auf den Stand von dem neuen Feature <feature-name> Branch gebracht.

Unter /<giwtapp_name>_preview

git checkout master
git merge --ff-only <feature-name>

Die Version zur Freigabe wird mit einem Tag versehen.

git tag <tag-name>

Unter /<giwtapp_name>

git fetch 
git checkout <tag-name>