Amazon Autoscale & Github

Я установил centos 6.5/apache и gitbhub на моем удаленном сервере. Возможно ли, когда сервер начнет (или каждый час), чтобы он вытащил последнюю фиксацию из моей производственной ветки, принудительно перезаписал все, что у нее было локально?

Я вижу использование команды git push, но поскольку автомасштабирование произойдет за брандмауэром, это в основном бесполезно.

Если на это уже был дан ответ, я сожалею.

1 ответ

Да, вы можете добавить к данным пользователя для своего экземпляра следующую команду. Он должен быть запущен в каталоге, где ваш репозиторий git для вашего кода:

git reset --hard HEAD
git pull -f origin

или если вы не хотите заботиться о том, в каком каталоге вы находитесь:

git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> reset --hard HEAD
git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> pull -f origin </your-git-repo-directory></your-git-repo-directory></your-git-repo-directory></your-git-repo-directory>

Чтобы запустить его каждый час, вы можете добавить его как задание cron, создав файл под /etc/cron.d/ со следующим содержимым:

0 * * * * <your-user> git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> reset --hard HEAD
1 * * * * <your-user> git --git-dir=<your-git-repo-directory>/.git --work-tree=<your-git-repo-directory> pull -f origin </your-git-repo-directory></your-git-repo-directory></your-user></your-git-repo-directory></your-git-repo-directory></your-user>

licensed under cc by-sa 3.0 with attribution.