Как вызвать скрипт с сервера, когда 'git push' в репозиторий git Gogs? - PullRequest
1 голос
/ 12 апреля 2019

Мне нужно запустить скрипт на моем сервере, при вызове git push из локального репозитория в репозиторий git gogs

#!/bin/sh
git pull origin test

source env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

python manage.py migrate
python manage.py collectstatic --noinput

sudo systemctl restart gunicorn.service
sudo systemctl restart celery-worker.service
sudo systemctl restart celery-beat.service

Вычитается в Интернете - что вам нужно использовать git Hooks.Разобрался, как редактировать хуки.

Вопрос - как я могу запустить файл с сервера через SSH из git Hooks ???

ssh user@my.server

Это не работает!

1 Ответ

0 голосов
/ 13 апреля 2019

Вам не нужен ssh, учитывая, что перехват сервера уже будет выполняться на сервере (Git Gogs).

Убедитесь, что ваш сценарий размещен в виде исполняемого файла после получения, в одном из ваших репозиториев Gogs, а не в репозиториях .

И в этом крюке выполните:

#!/bin/bash
echo "pull from non-bare repo"
unset GIT_DIR
cd /path/to/checkedout/repo
git --work-tree=. --git-dir=.git pull --no-rebase origin test
... rest of your script

Убедитесь, что / path / to / checkout / repo является клоном одного из ваших репозиториев Gogs.

...