Latexmk: команда не найдена с помощью Gitalb CI

#gitlab #latex #gitlab-ci

#gitlab #Латекс #gitlab-ci

Вопрос:

Я пытаюсь создать репозиторий в Gitlab с CI, который автоматически компилирует файл .tex в PDF.

Использование шаблона Gtilab для LaTeX (https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/lib/gitlab/ci/templates/LaTeX.gitlab-ci.yml ) поэтому my .gtilab-ci.yml выглядит следующим образом.

 variables:
 
  LATEX_IMAGE: listx/texlive:2020

build:
  image: $LATEX_IMAGE
  script:
    - latexmk -pdf

  artifacts:
    paths:
      - "main.pdf"
 

Также в моем основном репозитории, очевидно, есть main.tex.

При внесении изменений задание запускается, как и предполагалось, но при попытке выполнить сценарий оно завершается с ошибкой. Я прилагаю журнал для справки здесь:

 Running with gitlab-runner 14.5.1 (de104fcd)
  on selenium
Preparing the "shell" executor 00:00
Using Shell executor...
Preparing environment 00:00
Running on selenium...
Getting source from Git repository 00:00
Fetching changes with git depth set to 50...
Bestehendes Git-Repository in /some/anonymised/path neuinitialisiert
Checking out 4f46c62b as feature-setup...
Skipping Git submodules setup
Executing "step_script" stage of the job script 00:00
$ latexmk -pdf
bash: Zeile 120: latexmk: Kommando nicht gefunden.
Cleaning up project directory and file based variables 00:00
ERROR: Job failed: exit status 1
 

Я довольно новичок в реализации CI / CD с Gitlab в целом. Поэтому я не уверен, что дальше отлаживать и в чем может заключаться проблема.

Заранее спасибо!

Ответ №1:

В задании используется исполнитель оболочки GitLab (из журнала: Preparing the "shell" executor 00:00 ), который будет выполнять script команды на локальном компьютере, а не в указанном контейнере Docker.

Некоторые решения заключались бы в:

  • Установите программу GitLab docker runner на свой хост (предпочтительный вариант) или
  • Установите texlive на локальную машину, на которой выполняется gitlab-runner