我有 40 台服务器遍布全球。所有运行 centos 灯。
我正在使用 git,我希望对production
分支的每个更改都部署到每台机器上。每台机器都有自己的config.php
文件和很少的其他机器特定文件。
目前提交production
使用 phing 运行 phpunit 测试、php-md、cpd 等来分支触发 hudson 构建任务。问题是,如何将它部署到我的每台机器上,最好在每台更新的服务器上运行 selenium 测试,在使它成为现实之前。
我研究了 capistrano,但我完全不想混合 ruby 并在我的团队中添加这个依赖项。
您对 php 多服务器 CI 部署的建议?
变体 1
作为一个选项,在提交时运行 web-hook,phing
在每台机器上启动构建,在构建配置中,我将指定要克隆的存储库、要保留的文件以及要替换的文件。
虽然如果我突然推送一个错误的build.xml
文件,这会失败,这将阻止我在没有 40 次手动中断的情况下重建/恢复。+ 没有还原选项。