@dimonchu

Как сделать git-pull на сервере, сразу после git push на локальном?

Я не могу понять до конца, как сделать так, чтобы при пуше на локальном компе, сразу был git pull со стороны рабочего сервера?
Я смотрел на CI системы, но как я понял, они собирают это все в контейнерах, и никакого взаимодействия с реальным хостом они не имеют... Зачем вообще тогда нужны CI? Либо я не понимаю чего-то. Помогите плиз.
Я не хочу например при каждом коммите заходить на сервер и делать pull..
  • Вопрос задан
  • 514 просмотров
Решения вопроса 2
DevMan
@DevMan
ci нужно интегрировать с системами деплоя.
ну а если вам не нужны плюшки ci, то стоит использовать только систему деплоя.
Ответ написан
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Можно просто настроить вебхук в репозитории, который будет, например, запускать простейший скрипт. Или же, чуть лучше, взять Jenkins и настроить его тягать данные из репозитория
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
fox_12
@fox_12
Расставляю биты, управляю заряженными частицами
Ставите https://github.com/adnanh/webhook
настраиваете чтобы делал pull
На gitlab настраиваете соответствующий вебхук
Ответ написан
Комментировать
SlavikF
@SlavikF
Как тут уже писали, один вариант - это вебхук.

НО git pull на продакшене - не очень хорошая идея, потому что у вас на проде будет копия репы. Это не очень хорошо и секъюрно.

Best practice:
- вы делаете git push в репу (или merge PR)
- если надо, то CI система делает build
- CI копирует нужные файлы (артифакты) на прод. С помощью rsync, scp, ftp, чего угодно. Обычно при этом на прод нужно добавить каких-то ключей, паролей и т.д., который нет в репе, но у CI они есть (из настроек, ввод пользователя, из Vault, ...)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы