我研究了在git push之后将我的web项目部署到生产服务器的选项。据我所知,有两种选择:
- 在生产服务器上创建git存储库,并使用gitpostreceivehook来执行一些部署任务
- 将webhook url添加到github上的git存储库中。在生产服务器上创建脚本,该脚本将处理对github上指定的url的请求
在我的情况下,第二种选择更可取,因为我已经在我的项目中使用了github。但我不确定如何设置对这个url的访问,所以只有github会在webhook url下触发脚本。或者可能还有其他选择来自动部署github项目。
您可以搜索像下面这样的github webhook侦听器:
用于接收github.com通过web hook发送的信号的侦听器。主要是:
- 在端口3000处侦听来自github的POST请求
- 解析JSON并获取有关
- 存储库名称
- 存储库url
- 推送后的提交
- 通过环境变量REPO_COMMIT传递上述信息
- 生成用于部署的进程
只有github会在webhook url 下触发脚本
即使对这个url发出了另一个http请求(不是来自github),它的内容仍然应该是一个具有正确信息的有效JSON消息(就像本例中一样)。
如果你想部署到服务器,你可以使用deployq.com这样的服务,或者如果你喜欢自己做,可以看看deployogi(它基于bash和deployoji挂钩,专门为此设计)