====== 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 **b**ash und nicht mit der **d**ash 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.