【发布时间】:2014-10-23 12:30:42
【问题描述】:
我正在尝试找出一种使用 GitLab 自动部署公司内部网 PHP 应用程序的方法,但到目前为止,我不确定我在互联网上找到的选项是否可以完成这项工作。
这是场景:
VM1: 远程 Git 服务器,使用 GitLab 管理项目存储库。
VM2: 开发服务器。每个项目都有自己的开发服务器。
VM3:生产服务器。每个项目也有自己的项目。
开发人员:每个开发人员都使用基于项目开发服务器的 vagrant box。
我想做什么:
每当开发人员将其提交推送到开发分支时,远程服务器中的挂钩必须使用该分支上的最后一次提交更新开发服务器树。
更新主分支时也必须发生同样的情况,但它必须更新生产服务器树。
但是,由于我们使用 Laravel,我们必须使用 Artisan 运行一些额外的控制台命令,具体取决于每种情况。
我们正在关注 Vincent Driessen 的 Git 分支模型。
到目前为止我所知道的:
我知道 GitLab 使用 Web Hooks,但我不确定这在这种情况下是否可行,因为我需要访问自定义 URL,这听起来不太安全,但如果这是唯一的解决方案,我可以编写一个脚本来处理它。
另一种可能的解决方案是使用 Jenkins,但我不是专家,我还不知道 Jenkins 是否适合我的情况,因为我还没有使用单元测试。
你们是否已经实施了对我的情况有帮助的解决方案?任何人都可以提出一种简单而优雅的方法吗?
谢谢各位!祝你愉快
【问题讨论】:
标签: php git laravel deployment jenkins