Сервер сборки LaTeX с git
У меня есть проект LaTeX в git, есть make-файл. Таким образом, в основном сервер должен был бы сделать это:
git checkout master
make > logfile 2>&1
Учитывая, что я запихиваю в репо на сервер.
Я мог бы сделать это с помощью cron, но, похоже, упускает из виду суть. Есть ли способ инициировать это после того, как я нажал через SSH?
1 ответ
Вы можете сделать это в нативном git с помощью хука post-receive. Так как вы не должны подталкивать к непроигрышному репо, вам понадобится скрипт в соответствии с этим
#!/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
вам придется делать это вручную)