다음 문제를 해결하려면 귀하의 도움이 필요합니다. .tex
GitLab에서 문서를 컴파일하고 컴파일된 .pdf
파일을 루트 저장소에 넣으려고 합니다 . .gitlab-ci.yml
다음 구성으로 파일을 만들었습니다 .
# Use the latest version of the TeX Live Docker image
image: texlive/texlive:latest
# Define a single stage named "build"
stages:
- build
# Configuration for the "build" stage
build:
stage: build
# Specify the events that trigger the pipeline
only:
- push
# Specify the commands to be executed in the pipeline
script:
- filename="main"
- echo "Running latexmk with lualatex"
- latexmk -pdf -pdflatex="lualatex %O %S" "$filename.tex"
- echo "Moving .pdf file to root directory"
- mv "$filename.pdf" ../
- echo "Listing contents of root directory"
- ls ../
파일 은 log
나에게 다음을 알려줍니다
Latexmk: All targets () are up-to-date
$ echo "Moving .pdf file to root directory"
Moving .pdf file to root directory
$ mv "$filename.pdf" ../
$ echo "Listing contents of root directory"
Listing contents of root directory
$ ls ../
PhD
PhD.tmp
main.pdf
Cleaning up project directory and file based variables
Job succeeded
그러나 저장소에 액세스하면 로드된 파일이 표시되지 않습니다 main.pdf
. 이 문제를 어떻게 해결할 수 있나요? 제가 이해하지 못하는 것이 있나요?
답변1
로그에 다음 줄이 표시되어야 합니다.
$ mv "$filename.pdf" ../
이는 변수가 확장되지 않았음을 의미합니다.
gitlab의 yaml 구문에서는 변수를 정의해야 합니다.
job:
variables:
var1: "apple"
var2: "orange"
따라서 스크립트는 다음과 같아야 합니다.
# Configuration for the "build" stage
build:
stage: build
# Specify the events that trigger the pipeline
only:
- push
variables:
filename: "main"
# Specify the commands to be executed in the pipeline
script:
- echo "Running latexmk with lualatex"
- latexmk -pdf -pdflatex="lualatex %O %S" "$filename.tex"
여기를 읽어보세요: https://docs.gitlab.com/ee/ci/variables/