使用 git 构建 LaTeX 服务器

使用 git 构建 LaTeX 服务器

我在 git 中有一个 LaTeX 项目,有一个 makefile。因此,基本上服务器必须执行以下操作:

git checkout master
make > logfile 2>&1

假设我将其推送到服务器上的 repo 中。

我可以使用 cron 作业来执行此操作,但这似乎有点偏离重点。通过 SSH 推送后,有没有什么方法可以启动此操作?

答案1

您可以使用 post-receive 钩子在本机 git 中执行此操作。由于您不应该推送到非裸仓库,因此您需要一个类似这样的脚本

#!/bin/sh
target="/tmp/math"
exec > "$target/$(date +%s)_$(uuidgen).log" 2>&1
mkdir -p "$target"
GIT_WORK_TREE="$target" git checkout -f
cd "$target"
make

将其放入hooks/post-receive裸仓库中,一切就绪(请注意,这不会创建$TARGET_DIR,您必须手动执行此操作)

相关内容