从本地计算机推送后,是否会从远程DigitalOcean服务器上的GitHub存储库中自动提取?

时间:2018-10-13 18:48:07

标签: git automation cloud digital-ocean githooks

我有一个项目,我将其从本地计算机推送到GitHub存储库。我将这个项目部署在我目前必须插入并执行git pull的DigitalOcean Droplet上,然后手动重新部署。是否有一种简单的方法可以使其自动拉动,然后自动进行构建和重新部署?我已经研究了git hooks,但是找不到关于我想要做什么的明确答案。我在远程计算机上设置了更新后的git钩子,该钩子仅回显行,但我不知道在哪里检查行是否回显。

1 个答案:

答案 0 :(得分:2)

运行Git钩子所需的位置在服务器端的post-receivepost-update钩子中。但是,GitHub默认情况下不允许您运行任意挂钩,因为这会带来安全风险。相反,您可以使用GitHub's webhooks通过向其发出POST请求来触发其液滴执行某些操作。

您还可以设置某种持续集成,以自动触发构建并将其部署到您的Droplet。通常就是这种类型的任务的管理方式。

最后,您可以设置一个远程名称(例如foo),该名称具有多个remote.foo.url条目,其中之一是GitHub,其中之一是您的Droplet。然后,您可以使用该遥控器同时推送到两者,在这种情况下,您的post-receivepost-update挂钩将在小滴上触发(因为它已收到推送)。如果有签出,则可以使用receive.denyCurrentBranch=updateInstead,这将使您推送到已签出的同一分支。有关更多详细信息,请参见git-config(1)