Дрон ci публиковать сгенерированный латекс pdf
На самом деле я использую Трэвис, но я хочу перейти на дрон.
Для всех текстовых документов я использую небольшой Makefile с контейнером, чтобы сгенерировать мой pdf-файл и развернуть его в своем хранилище.
Но так как я использую gitea, я хочу настроить конвейер интеграции с помощью drone, но я не знаю, как я могу настроить .drone.yml
развернуть мой файл PDF на каждом выпуске тега.
На самом деле я использую следующее .drone.yml
и я рад сказать, что на данный момент процесс сборки работает нормально.
clone:
git:
image: plugins/git
tags: true
pipeline:
pdf:
image: volkerraschek/docker-latex:latest
pull: true
commands:
- make
а это мой Makefile
# Docker Image
IMAGE := volkerraschek/docker-latex:latest
# Input tex-file and output pdf-file
FILE := index
TEX_NAME := ${FILE}.tex
PDF_NAME := ${FILE}.pdf
latexmk:
latexmk \
-shell-escape \
-synctex=1 \
-interaction=nonstopmode \
-file-line-error \
-pdf ${TEX_NAME}
docker-latexmk:
docker run \
--rm \
--user="$(shell id -u):$(shell id -g)" \
--net="none" \
--volume="${PWD}:/data" ${IMAGE} \
make latexmk
Какие теги и условия отсутствуют в моем drone.yml для развертывания моего index.pdf как выпуска в gitea, когда я нажимаю новый тег git?
Volker
1 ответ
У меня есть эта настройка на моей паре gitea / drone. Это MWE моего .drone.yml
:
pipeline:
build:
image: tianon/latex
commands:
- pdflatex <filename.tex>
gitea_release:
image: plugins/gitea-release
base_url: <gitea domain>
secrets: [gitea_token]
files: <filename.pdf>
when:
event: tag
Таким образом, вместо настройки сборки докера в Makefile
, мы добавляем шаг, используя изображение docker с latex, компилируем pdf и используем шаг конвейера для выпуска.
Вам также нужно будет настроить репозиторий дронов для запуска сборок по тегам и установить используемый токен API gitea. Чтобы установить токен API, вы можете использовать интерфейс командной строки:
$ drone secret add <org/repo> --name gitea_token --value <token value> --image plugins/gitea-release
Вы можете настроить репозиторий Drone для запуска сборок в настройках репозитория в веб-интерфейсе.
Обратите внимание, что вам также, вероятно, придется разрешить *.pdf
вложения в настройках вашего gitea, так как они запрещены по умолчанию. В твоей гите app.ini
добавьте это в раздел вложения:
[attachment]
ENABLED = true
PATH = /data/gitea/attachments
MAX_SIZE = 10
ALLOWED_TYPES = */*
В дополнение к ответу Гейба, если вы используете обратный прокси-сервер NGINX, вам также может потребоваться разрешить загрузку файлов большего размера в свой nginx.conf. (Это относится ко всем типам файлов, а не только к.pdf)
server {
[ ... ]
location / {
client_max_body_size 10M; # add this line
proxy_pass http://gitea:3000;
}
}
Это устранило проблему для меня.