实际上我正在使用travis,但是我想换成无人机。
对于所有tex文档,我正在使用带有容器的小型Makefile生成pdf文件并将其部署在我的存储库中。
但是,由于我使用的是gitea,所以我想使用无人机建立集成管道,但是我不知道如何配置.drone.yml
在每个als发行版中部署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
当我按下新的git标签时,在drone.yml中缺少哪些标签和条件来将index.pdf部署为在gitea中发布?
Volker
答案 0 :(得分:1)
我的gitea /无人机对上有此设置。这是我的.drone.yml
的MWE:
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 build,而是添加了使用带有乳胶的docker image,编译pdf以及使用管道发布的步骤。
您还必须将您的无人机回购设置为触发基于标签的构建,并设置要使用的gitea API令牌。要设置API令牌,您可以使用命令行界面:
$ drone secret add <org/repo> --name gitea_token --value <token value> --image plugins/gitea-release
您可以在Web UI的存储库设置中设置无人机仓库来触发构建。
请注意,您可能还需要在gitea设置中允许*.pdf
个附件,因为默认情况下它们是不允许的。在您的gitea app.ini
中,将其添加到附件部分:
[attachment]
ENABLED = true
PATH = /data/gitea/attachments
MAX_SIZE = 10
ALLOWED_TYPES = */*
答案 1 :(得分:0)
除了Gabe的回答外,如果您使用的是NGINX反向代理,则还可能必须允许在nginx.conf中上传较大的文件。 (这适用于所有文件类型,而不仅仅是.pdf)
server {
[ ... ]
location / {
client_max_body_size 10M; # add this line
proxy_pass http://gitea:3000;
}
}
这为我解决了这个问题。