php - github钩子怎么设置 有push服务器自动pull?

 最爱一片小舟 发布于 2022-12-01 18:16

比如我在本地开发,push到了github,然后我得去服务器上git pull

有办法简化这个过程吗?github仓库一有push服务器就自动git pull.

用hooks? 怎么用呢,求教

4 个回答
  • 你意思就是自动部署吧,webhook的工作过程就是当你push的时候git发送webhook到你指定的服务器。

    你可以自己写这个东西,当收到webhook请求,服务器自动执行git pull,但是自己写总数会出现各种问题,而且自己没必要浪费这个时间。

    所以比较完美的解决方案就是使用一套自动部署系统。我推荐使用dploy.io,完全全自动,不用写一行代码。我代码托管用的coding,服务器用do,每次push自动部署,自动重启应用,棒极了。

    2022-12-01 19:02 回答
  • 方法一:

    定时任务 每隔一段时间pull一次

    方法二:

    服务器上搞一个web接口,调用时自动pull,然后在github上配置webhook,地址指定为这个接口的url

    每当你push的时候,github会立即访问这个接口

    2022-12-01 19:02 回答
  • 2022-12-01 19:02 回答
  • 1.搭建git服务器

    主要包括创建git用户、建立git的bare仓库,以及相应的权限设定等,参考廖雪峰的git教程,以及这篇博客

    2.配置钩子(hook脚本)

    到你建立的bare版仓库的hooks目录,添加post-receive脚本,内容参考如下:

    #!/bin/bash
    unset GIT_DIR
    cd /var/www/html/somesite
    git pull

    3.配置权限

    先把git repo克隆到目标位置,e.g.

    cd /var/www/html/somesite
    git clone /srv/myrepo.git .

    并配置权限为:

    chown -R git:apache /var/www/html/somesite
    chown -R git:git /var/www/html/somesite/.git
    2022-12-01 19:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有