Latexmk:在 Gitlab CI 中找不到命令

Posted

技术标签:

【中文标题】Latexmk:在 Gitlab CI 中找不到命令【英文标题】:Latexmk: command not found with Gitalb CI 【发布时间】:2022-01-15 01:55:12 【问题描述】:

我正在尝试在 Gitlab 中创建一个带有 CI 的存储库,该 CI 自动将 .tex 文件编译为 PDF。

使用 LaTeX 的 Gtilab 模板 (https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/lib/gitlab/ci/templates/LaTeX.gitlab-ci.yml) 因此我的 .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

总的来说,我对使用 Gitlab 的 CI/CD 实施相当陌生。所以我不确定要进一步调试什么以及问题可能出在哪里。

提前致谢!

【问题讨论】:

【参考方案1】:

该作业正在使用 GitLab shell executor(来自日志:Preparing the "shell" executor 00:00),它将在本地机器上而不是在指定的 Docker 容器中运行 script 命令。

一些解决方案是:

在您的主机上安装 GitLab docker runner(首选选项),或 将texlive 安装到运行gitlab-runner 的本地计算机上

【讨论】:

以上是关于Latexmk:在 Gitlab CI 中找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

GitLab CI/CD 管道在构建 Debian 包时找不到 GCC

错误 404:在 Gitlab 中找不到文件

问题:在 codeigniter 中找不到类“CI_Config”

Gitlab CI:找不到构建阶段的输出

Gitlab CI/CD 运行器:找不到 mvn 命令

Gitlab CI 设置错误 - 找不到 JavaScript 运行时