Don*_*n P 11 git deployment amazon-ec2 githooks git-post-receive
让Github自动将任何更新推送到远程服务器的设置是什么?
这对于在Github上维护代码库以及让网站运行该代码库非常有用.
我在自己的电脑上有我的回购,这是我工作的地方.
我对我的本地仓库进行了更改,并将它们推送到我的Github仓库.
我希望我的Github repo然后将这些更改推送到我的远程服务器.
我整天都在研究,使用'钩子'听起来很合理.也许在Github上使用'post-receive'钩子,然后向我的远程服务器运行push命令.
有什么建议?
Yer*_*yan 10
据我所知,github不允许你定义"真正的"钩子.喜欢收到后.相反,他们向开发人员提供称为webhook的东西.你可以做的就是向你指定的任何URL发出Web请求,只要你推送到你的存储库.
所以你可以做的是:在你的远程git服务器上设置一个web服务器,并配置github在post-receive上对它进行http调用.每当github通知你的远程服务器时,都要从github上拉一下它.
请参阅此处了解如何使用webhooks:https://help.github.com/articles/post-receive-hooks
PS一个真正的钩子机制可能是github的一个可能的安全漏洞,因为它允许你在他们的服务器上执行自定义代码.所以他们做了一些不允许你执行任何事情的东西,但仍允许你做任何你想做的事情.
为了说明Yervand的答案(upvoted),请将此peligangit视为简单HTTP服务器(可以安装在amazon-ec2实例上)的示例,它将:

该库将获取,然后重置origin/master上的主分支.
这是一种方法.(见githook.py)
def hard_reset_repos(self):
self.server.source_repo.fetch([self.server.source_repo.origin])
self.server.source_repo.reset(['--hard', self.server.source_repo.originMaster])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4723 次 |
| 最近记录: |