如何使用git自动更新生产中的所有Laravel站点?

时间:2014-05-07 18:43:01

标签: php git laravel laravel-4 bitbucket

我在Bitbucket上的私人git仓库中有一个基于Laravel 4构建的站点骨架。我们非常小的团队每个都有自己的本地开发副本,并且在开发环境中还有一个版本的站点,我们用它来向客户显示内容。此外,该网站的品牌生产版本向公众开放,我们正在基于相同的git repo设置两个或三个新网站。

现在,安装新网站非常容易......但我不知道如何保持它们全部正常更新,除了每次我们进行更新时手动登录和拉动。理想情况下,我希望能够指定对repo的提交触发所有生产环境以提取新版本。

这是否可以轻松完成,如果是,怎么做?我们期望基于该模板发布越来越多的网站,我宁愿从一开始就正确设置它,而不是在它成为问题后扔掉一些东西。

1 个答案:

答案 0 :(得分:2)

有一些工具可以帮助你,比如Capistrano,但我找不到一个用PHP编写的,它可以通过github / bitbucket钩子来做,所以我建立了一个包来帮助我:https://github.com/antonioribeiro/deeployer

它使用Laravel Envoy为您的部署过程提供一些脚本。

使用Envoy可以通过执行以下操作轻松地在命令行中手动运行任务:

cd <your deployer directory>

envoy run <task name>

一个例子是:

envoy run https://github.com/antonioribeiro/deeployer:master