Titelbild GitLab CI/CD Latex
Latex mit CI/CD bauen.

Latex mit CI/CD Pipeline in GitLab bauen

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/CD Project
Das Repository mit meiner Hausarbeit in Latex. Die Hausarbeit liegt im Unterordner latex.

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.

GitLab CI/CD Editor
In dem Editor von CI/CD in GitLab, kann ich die Pipeline konfigurien.

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.

GitLab CI/CD Job erfolgreich
Wenn die Pipeline erfolgreich durchgelaufen ist, finde ich unter Jobs die Artefakte. Diese kann ich auf der rechten Seiter downloaden.

Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert