什么是建立具有Github上自动推送的任何更新到远程服务器?
这是维持在Github代码库,并有一个网站运行关闭该代码库有用。
我有我自己的电脑上的回购,这是我工作的地方。
我承诺在我的本地回购我的变化,并把它们推到我的GitHub库。
我希望我的GitHub库到那么这些变化推到我的远程服务器。
我整天都在研究,并使用“钩子”听起来很合理。 也许使用Github上一个“后收到”钩子,然后运行命令推到我的远程服务器。
有什么建议?
什么是建立具有Github上自动推送的任何更新到远程服务器?
这是维持在Github代码库,并有一个网站运行关闭该代码库有用。
我有我自己的电脑上的回购,这是我工作的地方。
我承诺在我的本地回购我的变化,并把它们推到我的GitHub库。
我希望我的GitHub库到那么这些变化推到我的远程服务器。
我整天都在研究,并使用“钩子”听起来很合理。 也许使用Github上一个“后收到”钩子,然后运行命令推到我的远程服务器。
有什么建议?
据我了解github上不允许你定义“真”挂钩。 像后领取。 相反,他们提供的东西叫网络挂接给开发者。 你可以用这个做的是发出Web请求到您指定的任何网址,只要有一个推到你的仓库。
所以你可以做的是:设置你一个Web服务器远程混帐服务器和配置github上发出HTTP调用它接收后。 每当GitHub的通知远程服务器从GitHub做就可以拉。
在这里看到关于如何使用网络挂接: https://help.github.com/articles/post-receive-hooks
PS真正挂钩mechianism对子级是一个可能的安全漏洞的原因GitHub的它可以让你在自己的服务器上执行自定义代码。 因此,他们已经取得的东西,不允许你执行任何东西,但仍然允许你做任何你想要的。
为了说明Yervand的答案 (upvoted),认为这peligangit作为一个简单的HTTP服务器的例子(您可以安装在您的亚马逊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])