我在Bitbucket上的私人git仓库中有一个基于Laravel 4构建的站点骨架。我们非常小的团队每个都有自己的本地开发副本,并且在开发环境中还有一个版本的站点,我们用它来向客户显示内容。此外,该网站的品牌生产版本向公众开放,我们正在基于相同的git repo设置两个或三个新网站。
现在,安装新网站非常容易......但我不知道如何保持它们全部正常更新,除了每次我们进行更新时手动登录和拉动。理想情况下,我希望能够指定对repo的提交触发所有生产环境以提取新版本。
这是否可以轻松完成,如果是,怎么做?我们期望基于该模板发布越来越多的网站,我宁愿从一开始就正确设置它,而不是在它成为问题后扔掉一些东西。
答案 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