Table of Contents
Zusammenführen von Branches
Sobald alle Änderungen in dev getestet wurden, kann ein merge von dev und prelive durchgeführt werden.
Dazu wird in den Branch prelive gewechselt und ein Merge mit dev durchgeführt:
$ git checkout prelive
$ git merge dev
Die Prozedur wird für live wiederholt, sobald alle Änderungen in der prelive-Umgebung getestet wurden.
Aktueller Zustand der Paketierung
In ${GIT_ROOT}/packages liegt ein Shell-Skript, welches im Augenblick die folgenden Pakete baut:
- indexer: Dieses Paket enthält das C++-Programm, welches zum Erzeugen der Enrichment-Daten aus den Bilder verwendet wird. Zusäztlich enthält es auch noch Python-Skripte, die für den Betrieb als Indexer notwendig sind.
- lillydb: Dieses Paket enthält die Lilly-DB.
- webapis: api.php, vmail.php, recommendor.php, …
- mobile-api: Web-Oberfläche zum Testen der Upload-Funktionalität
- testui: Web-Oberfläche zum Testen der Ähnlichkeitssuche
In ${GIT_ROOT}/packages/${PACKAGE_NAME} liegt zum einen die Bauanleitung für das Paket in Form einer CMakeLists.txt, sowie zwei Shell-Skripte, die vor und nach der Installation ausgeführt werden. ACHTUNG: Das Bauen der Pakete ist vom aktuell ausgewählten Git-Branch abhängig, da die Konfigurationsdateien aus dem Verzeichnis ${GIT_ROOT}/configurations/settings-${GIT_BRANCH} kopiert werden.
Wenn die Pakete erfolgreich gebaut wurden, lassen sich die Pakete mit install_package.sh installieren. ACHTUNG: hier ist zu beachten, dass das Skript mit der bash und nicht mit der dash ausgeführt werden muss. Die Paketnamen folgen den Schema ${MODULE_NAME}-${GIT_BRANCH}-${GIT_TAG}-${COMMIT_SINCE_TAG}-${GIT_HASH}.tar.gz, wobei der Teil -${COMMIT_SINCE_TAG} optional ist und auf dem Live-System selten auftreten sollte.
Bauumgebungen
Dev-System: dev01.picalike.corpex-kunden.de, dev02.picalike.corpex-kunden.de:
- dev01: erhält die Pakete (indexer, webapis, mobile, testui) und fungiert als indexer und web-frontend (ACHTUNG: Deployment als Benutzer picalike)
- dev02: erhält die Pakete (indexer und lillydb) und fungiert ebenfalls als indexer aber auch als lillydb-server
- Bauen neuer Pakete: auf dev02 im Verzeichnis /home/picalike/dev-git/pvt-dev/packages/
Prelive-System: frontend-prelive.picalike.corpex-kunden.de, index-prelive.picalike.corpex-kunden.de
- frontend-prelive: Pakete: indexer, lillydb, webapis, mobile, testui)
- indexer-prelive: Pakete: indexer
- Bauen neuer Pakete: auf index-prelive im Verzeichnis /mnt/storage/var/tmp/pvt-dev/packages/
Live-System: {frontend03,frontend04,indexer03}.picalike.corpex-kunden.de
- frontend0x: Pakete: indexer, lillydb, webapis, mobile, testui
- indexer0x: Pakete: indexer
- Bauen neuer Pakete: auf index-prelive im Verzeichnis /mnt/storage/var/tmp/pvt-dev/packages/ im git-branch live
Die Paket-Liste für das Live-System und das Prelive-System sollten in der Regel identisch sein, außer, dass die Pakete für das Live-System im git-branch live gebaut werden sollten.