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