【问题标题】:Checking for update of a file in gitlab project检查 gitlab 项目中文件的更新
【发布时间】:2020-02-28 19:19:25
【问题描述】:

我正在使用 node.js 编写服务,根据我的 gitlab 项目中的文件是否最近更新,服务的工作方式会发生变化。那么如何判断我的 gitlab 项目中的文件内容是否在 node.js 服务端发生了变化?是否有为此提供 Gitlab API 服务?

【问题讨论】:

    标签: javascript node.js gitlab microservices gitlab-api


    【解决方案1】:

    Gitlab 确实提供了强大的 API,但你能不能只运行 git fetch 和 diff:

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

    这将列出与您的本地相比已更改的所有文件。如果你想从 Node 访问它,你可以把它放在一个 shell 脚本中,将它作为一个衍生的 child_process 运行并解析标准输出。

    此方法取决于您的服务手动检查更改,如果您希望在任何时候发生更改时提醒您的服务,您可能需要查看 webhook:https://docs.gitlab.com/ee/user/project/integrations/webhooks.html

    【讨论】:

      【解决方案2】:

      您可以监视(使用 crontab)project's commitswebhooks(如 @Dave 所说),然后使用 gitlab commit api 获取提交差异信息以查看您的文件是否被修改

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-07
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 1970-01-01
        相关资源
        最近更新 更多