Bisher hatte ich alle öffentlichen Repositorys in GibHub liegen. GitHub ist nun aber an Microsoft verkauft worden. Wenn das kein Grund ist, das nächste Repo mal in GitLab anzulegen. GitLab hat auch den Vorteil, das private Repos kostenlos sind und …
Also das FreeMarker-Maven-Java-Projekt nach GitLab hochladen.
Was etwas suche und Anpassung benötigte, war der CI-Prozess. Aber wenn man die Syntax der .gitlab-ci.yml kennt, geht es mit zwei Zeilen.
Also einen Docker-Container mal mit Java 11 und Maven, wie folgt erstellt:
1 2 3 4 |
image: maven:3-jdk-11 build: script: "mvn clean install -B" |
Der Parameter -B der Command Line Options sagt Maven, das es im Batch-Mode laufen soll. Das heißt, im nicht interaktiven Modus. Das ist für CI-Umgebungen wichtig. So stopt Maven nicht wegen irgendwelcher User aktionen.
Sonst ist alles fast so wie bei GitLab.
Wer ein Testprojekt auf den Raspberry Pi auschecken will, kann das einfach mit git clone durchführen. Das Projekt compiliert aber noch mit Java 8 obwohl im Docker es schon mit Java 11 läuft …
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# das Projekt kopieren von GitLab mit git clone https://gitlab.com/IT-Berater/twmindmapgenerator.git # dann in das Verzeichnis gehen cd twmindmapgenerator # dann das Projekt bauen mit mvn clean install # dann in 1 Minunte und 11 Sekunden auf dem Pi Zero W ... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:11 min [INFO] Finished at: 2018-09-29T18:19:31+00:00 [INFO] Final Memory: 15M/36M [INFO] ------------------------------------------------------------------------ |
Das Ergebnis des JUnit-Test liegt dann in der ergebnis.html.
Wer auf GitLab ein Issues oder ein Merge request einstellen will, ist herzlich dazu eingeladen.