von Patrick Gundlach |

Docker Image für die Entwicklung

Für alle, die schon mal am speedata Publisher etwas ändern wollten, sich aber nicht die ganzen Abhängigkeiten für die Entwicklung installieren möchten, gibt es nun eine gute Nachricht. Ab sofort steht unter https://hub.docker.com/r/speedata/development ein Docker Image zur Verfügung, das alle Programme schon installiert hat. Das Repository von Github selbst ist nicht Teil des Images, aber einfach hinzuzufügen.

Das Docker Image wird wie folgt benutzt:

mkdir develop
docker run --rm -it -v $PWD/develop:/develop speedata/development:latest
cd /develop
git clone https://github.com/speedata/publisher.git
cd publisher
rake build
rake buildlib

Um die Software zu testen, kann man einfach ein »Hallo Welt« aus dem Handbuch ausprobieren:

cd doc/manual/doc/examples-en/helloworld/
sp

Die PATH-Variable ist schon so gesetzt, dass sie /develop/publisher/bin beinhaltet. Wenn man die Anweisungen oben befolgt, ist das Programm sp dann ohne weitere Angabe aufzurufen.

Hier eine kurze Erklärung der Befehle oben:

  1. In das neu erstellte Verzeichnis develop wird der Quelltext kopiert. Damit kann man mit dem Editor auf dem Host-System die Quellen bearbeiten und auch innerhalb des Docker Containers benutzen.
  2. Hier wird das Docker Image herunter geladen (sofern nicht lokal vorhanden) und gestartet. Das im ersten Punkt erstellte Verzeichnis wird innerhalb der Docker VM unter /develop eingebunden.
  3. In /develop wird das Git Repository angelegt
  4. In dem Repsitory werden die Befehle rake build und rake buildlib aufgerufen. Der Publisher besteht aus zwei Teilen. Zum einen aus dem Startprogramm sp, das mit rake build erzeugt wird. Zum anderen aus einer C-Bibliothek, die zu dem LuaTeX-Binary gelinkt wird. Die Bibliothek wird mit rake buildlib erzeugt. Da beide Programme getrennt sind, werden sie auch separat erzeugt (der Geschwindigkeit wegen).