Projekt

Allgemein

Profil

Continuous Integration

Um eine möglichst reibungslose Entwicklung mit Feedback zu ermöglichen, verwenden wir Continuous Integration - d.h. das Geoportal wird nach Änderungen am Code automatisch neu in der Entwicklungsumgebung installiert.

Die Software Gitlab Runner führt dabei die Befehle in der Datei .gitlab-ci.yml im Repository aus.

Aktuelles Geoportal

Für die aktuelle Geoportal-Version läuft der Runner auf gp-build. Von dort wird die Software auf gp-dev ausgerollt. Dazu wird mit Docker Compose ein Container erzeugt, in dem der webpack-dev-server läuft und die Anwendung bereitstellt.

Für die Produktionsumgebung werden, ebenfalls unter Verwendung von Docker-Containern, mit webpack statische Dateien erzeugt und anschließend mit nginx bereitgestellt.

Geoportal 2.0

Im Geoportal 2.0 wird ein zusätzlicher Runner direkt auf gp-dev (zukünftig auch in den Test- und Produktionsumgebungen) verwendet, der das Deployment steuert. Der Build-Prozess und die Tests laufen weiterhin auf gp-build ab.

Die CI wIrd mit folgenden Schritten eingerichtet:
1. apt install gitlab-runner
2. sudo gitlab-runner register (im Gitlab die Einstellungen > CI > Runner öffnen, dort sind die Angaben eingetragen. das tag muss passend gesetzt sein auf dev, test oder prod)
3. in /etc/gitlab-runner/config.toml die Environment-Variablen für den Proxy eintragen (siehe Vorlage auf dev-Umgebung)
4. in /etc/systemd/system/gitlab-runner.service.d/override.conf die Environment-Variablen für den Proxy eintragen (siehe Vorlage auf dev-Umgebung)
5. sudo gpasswd -a gitlab-runner docker
6. sudo systemctl daemon-reload (zum neuladen der Service-Config)
7. sudo systemctl restart gitlab-runner (zum neuladen der Runner-Config)