У меня есть проект, который работает в основном на NodeJS. Во время запуска он создает сервер socket.io + http и несколько рабочих (в основном, прослушиватели событий, которые выполняют свою работу по определенным событиям).Использование NodeJS для самообновления проекта
Теперь я хотел бы реализовать рабочий процесс, который автоматически проверяет наличие новой фиксации в репозитории git, который размещается через GitLab на том же сервере.
Так что я хотел бы знать:
- Есть ли модуль НПМ, который может выглядеть, если локальным и удаленным мерзавца матча хранилища в коммиты?
- Или было бы более полезно использовать Redis Pub/Sub и git hook, чтобы уведомлять приложение об обновлении таким образом?
- Или есть один совершенно другой подход, который вы бы порекомендовали?
В настоящее время этот проект работает как сервер разработки, и я могу отключить функцию автоматического обновления, когда она находится в рабочем состоянии. Но так как я развиваюсь на своем ноутбуке, но тестирую на своем удаленном сервере, автообновление было бы удобно.
Я думаю, что веб-крючки gitlab были бы очень полезны для этого. Например, модуль gitlabhook, который может прослушивать крючки, но у меня были некоторые проблемы с его реализацией. Я сам сделал очень хладнокровную вещь, но был бы действительно заинтересован в более правильном решении. –
Это похоже на интересную вещь, но действительно ли она похожа на гвоздь? Я имею в виду, вы используете приложение для самообновления?Есть много проверенных и проверенных инструментов непрерывного развертывания там, что нет необходимости увеличивать сложность вашего приложения Node. – Zlatko
@Zlatko: Я видел некоторые инструменты, но никогда не понимал, как они работают в целом. Если я увидел один, он говорил о том, что автоматически выпускает новые версии и т. Д., Это меня смутило. Поэтому я искал шляпу solutiont, которая больше похожа на то, что мне нужно - код, который может обновить себя и снова перезапустить. Хотя, если у вас есть хорошее программное обеспечение, чтобы рекомендовать, я смотрю на него точно. –