我正在为我所在公司的开发人员设置一个本地“测试平台”。有几个开发人员在单个服务器应用程序上工作,并且经常需要部署他们的分支以进行客户端测试。目前,所有这些部署都发生在离线服务器上,每个部署都有一个单独的应用程序实例。
我想创建一个自制的解决方案,并一直在寻找pow.cx等服务。这很棒,但是服务器应用程序需要多个外部服务,例如redis和memcached,这两个服务都需要单独的端口。原则上,我可以为每个单独的实例手动创建其他配置文件,但这在实践中很难,并且在杂耍环境方面需要更多的簿记。
作为一个糟糕的系统管理员,我想知道是否有一种更简单的方法(即虚拟主机)允许我以相同的方式部署每个实例,但是在一个不同的子域后面?
我意识到这个问题相当苛刻,我一定会感谢你能得到的任何建议。
答案 0 :(得分:0)
根据我的经验。我在一台主机上有一些简单的应用程序。我使用简单的可配置工具:passenger + nginx作为服务器(添加新服务器,需要添加5行代码),Vlad the Deployer用于部署,rbenv用于不同的ruby版本,bundler作为工具分离铁轨宝石。
我有一些服务器:生产,开发,测试。它们放在vps上的不同硬盘上,并拥有自己的域以排除服务器之间的任何影响。
答案 1 :(得分:0)
听起来最简单的事情就是在该服务器上安装一堆虚拟机,每个应用程序实例一个。如果您愿意,可以跨应用程序实例共享一些内容(例如数据库服务器)。
您可以使用vagrant等内容自动完成大量此操作。这样做的一个好处是,如果需要,可以很容易地将一个特定的VM移动到专用机器,或者让新开发人员使用该VM进行开发。