Ich habe in den vergangenen Beiträgen gezeigt wie ich mit GitLab installiere und einen GitLab Runner einrichte. Der GitLab Runner kann dazu genutzt werden, bei einem Commit automatische Tests, Build-Prozesse oder Deploy-Prozesse auszuführen. Ich kann Pipelines erstellen, die einzelne Jobs ausführen.
In der Uni habe ich eine Hausarbeit schreiben müssen und habe diese mit Latex umgesetzt. Latex ist ein Softwarepaket mit dessen Hilfe können PDF Dokumente erstellt werden. Im Gegensatz zu Word, kann ich Latex super auch mit der Versionsverwaltung Git benutzen. Ich möchte mir das PDF Dokument bei einem Commit automatisch bauen lassen.
Ein Repository habe ich schon erstellt und alle Daten hochgeladen. Der GitLab Runner ist als Shared Runner eingerichtet, kann also für mein Projekt direkt verwendet werden.
GitLab CI erstellen
Ich möchte nun eine CI/CD Pipeline erstellen, dazu muss ich eine .gitlab-ci.yml erstellen. Am einfachsten klicke ich im Menü des Repositories auf CI/CD und wähle den Punkt Editor aus. In dem Editor kann ich mein Skript entsprechend konfigurieren.
Für das Bauen der PDF brauche ich ein Container, der mir schon alle benötigten Komponenten zur Verfügung stellt. Dazu verwende ich das Image aus der GitLab Registry. Als nächstes gebe ich den build Prozess an. Ich muss erst in das Unterverzeichnis wechseln, in dem meine Daten von Latex liegen. Der Einstiegspunkt für den build Prozess von Latex ist die Ausarbeitung.tex Datei. Nach dem Verzeichniswechsel, baue ich die PDF, die Quellenangaben und anschließend noch einmal die PDF endgültig zusammen. Nach dem Erstellen der PDF gebe ich die Logs auf der Konsole aus. Am Ende habe ich die PDF die als Artefakt gespeichert ist.
image: registry.gitlab.com/islandoftex/images/texlive:latest
build:
script:
- cd latex
- pdflatex Ausarbeitung.tex
- bibtex Ausarbeitung
- pdflatex Ausarbeitung.tex
after_script:
- cat latex/Ausarbeitung.log
artifacts:
paths:
- latex/Ausarbeitung.pdf
Sobald die Pipeline durchgelaufen ist, werde ich auch per Mail benachrichtigt. Bei erfolgreichem Durchlauf, finde ich unter Jobs auch die fertige PDF zum Download.