Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何添加使用Github Webhooks将更改部署到运行在单个Docker容器中的LEMP服务器_Github_Webhooks - Fatal编程技术网

如何添加使用Github Webhooks将更改部署到运行在单个Docker容器中的LEMP服务器

如何添加使用Github Webhooks将更改部署到运行在单个Docker容器中的LEMP服务器,github,webhooks,Github,Webhooks,我有一台运行ubuntu 18.04的服务器,它运行3个Docker容器,分别用于Nginx、PHP和MySql。应用程序中的一切似乎都正常工作,目前只是一个测试wordpress博客。然而,我正在尝试添加Github Webhook部署,对于应该如何进行,我有点不知所措。一些选择 我是否应该在主机系统上设置一个Web服务器并触发一个php文件来运行和执行git pull?我想我可以将其子域化以保持SSL验证不变 有没有一种方法可以将ssh密钥传递给php这样的容器,并允许从repo中提取这些密

我有一台运行ubuntu 18.04的服务器,它运行3个Docker容器,分别用于Nginx、PHP和MySql。应用程序中的一切似乎都正常工作,目前只是一个测试wordpress博客。然而,我正在尝试添加Github Webhook部署,对于应该如何进行,我有点不知所措。一些选择

  • 我是否应该在主机系统上设置一个Web服务器并触发一个php文件来运行和执行
    git pull
    ?我想我可以将其子域化以保持SSL验证不变

  • 有没有一种方法可以将ssh密钥传递给php这样的容器,并允许从repo中提取这些密钥?我尝试了这个,但遇到了用户和组权限
    1000
    问题

  • nginx的docker容器应用程序是否有办法在主机服务器(运行docker的裸服务器)上执行代码

  • 是否有一个更简单的解决方案,我没有考虑涉及部署?我宁愿不使用付费服务

  • 您是否在使用或继续交付

    这些工具可以帮助您在对GitHub的repo执行新的拉取请求时对服务器进行一些更改

    我将向您展示一个我使用travis ci的例子,我可以在Aws上部署我的应用程序,或者连接到一个安装了docker的主机并进行新的更改

    我将在下面与您分享一些连续交付的文章


    尝试获取有关持续集成和持续交付的新知识,这是自动化此类流程的最佳方式

    这是一个好问题,但也是一个难题,基本上我认为这四个部分的问题可以分为三个不同的问题。至于问题1,我非常确定您需要一个用于GithubWebHook的服务器。问题2,我也可以给你一个肯定的答案,是的。谢谢@tim,我想我要走这两条路线中的一条。第一,我肯定知道怎么做,我想另一个nginx服务器不会有太多的开销。对于第2个问题,我不确定如何转移这些权限,但我打赌这是一个
    chmod
    问题。我会做一些谷歌搜索。谢谢雨果,我希望避免添加CI,我使用的是私人回购,所以特拉维斯出去了,因为我相信你必须付费。我过去曾与Jenkins一起玩过,但我不希望为了处理Webhook而运行整个服务器,因为一旦代码到达服务器,我就不需要在代码上使用任何构建功能。对于其他需要构建和测试的项目,我肯定会看看这些。