【问题标题】:How to configure post-receive hook on local server如何在本地服务器上配置接收后挂钩
【发布时间】:2015-09-23 10:29:17
【问题描述】:

我正在使用 Jenkins 在本地服务器上工作,我现在的任务是在每次 git push 后触发测试脚本。

我尝试使用 post-commit 挂钩来执行此操作,该挂钩按预期工作,但它运行了测试进行实际更改(推送到 repo)之前。好吧,它是提交后的,所以这是意料之中的。

所以我决定使用某种 post-push 并发现 post-receive 挂钩,但它根本不起作用。运行sh post-receive 做我想做的事,chmod +x 完成。我究竟做错了什么?我应该使用另一个钩子吗?

【问题讨论】:

    标签: git jenkins githooks


    【解决方案1】:

    接收后挂钩是server-side hook,在 Git 托管服务器收到推送时运行。
    它通常设置在一个裸仓库中:

    myBareRepo.git/hooks/post-receive
    

    如果您的 Jenkins 监控您的存储库,您可以:

    • 将您的 Jenkins 作业设置为监控裸仓库:

      git clone --bare myRepo myRepo.git
      
    • 改为在该裸仓库中添加接收后挂钩

    • 从你的仓库推送到这个裸仓库

      cd myRepo
      git remote add origin ../myRepo.git
      git push -u origin master
      

    【讨论】:

      猜你喜欢
      • 2018-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      • 2015-03-15
      相关资源
      最近更新 更多