php - github钩子怎么设置 有push服务器自动pull?
大家讲道理
大家讲道理 2017-04-10 15:24:39
0
4
412

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

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

用hooks? 怎么用呢,求教

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

Antworte allen(4)
巴扎黑

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

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

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

洪涛

方法一:

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

方法二:

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

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

洪涛

玩转git之webhook应用初探

阿神

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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage