Проверка обновления файла в проекте gitlab - PullRequest
1 голос
/ 28 февраля 2020

Я пишу сервис с node.js, и в зависимости от того, был ли недавно обновлен файл в моем проекте gitlab или нет, способ работы сервиса будет меняться. Так как же узнать, изменилось ли содержимое файла в моем проекте gitlab или нет на стороне службы node.js? Есть ли сервис Gitlab API для этого?

Ответы [ 2 ]

1 голос
/ 28 февраля 2020

вы можете отслеживать (с помощью crontab) коммиты проекта или webhooks (как сказал @Dave) и после этого получать информацию о коммитах с помощью gitlab commit api чтобы увидеть, был ли ваш файл изменен

1 голос
/ 28 февраля 2020

Gitlab действительно предлагает надежный API, но не могли бы вы просто запустить git fetch и diff:

git fetch origin master
git diff origin/master:./ --compact-summary

, в котором будут перечислены все файлы, которые изменились по сравнению с вашим локальным. Если вы хотите получить доступ к этому из Node, вы можете поместить его в сценарий оболочки, запустить его как порожденный child_process и проанализировать стандартный вывод.

Этот метод зависит от того, проверяет ли ваш сервис изменения вручную, если вместо этого вы вы хотите, чтобы ваша служба была уведомлена о любых изменениях в любое время, когда вы захотите посмотреть веб-зацепки: https://docs.gitlab.com/ee/user/project/integrations/webhooks.html

...