我对你们有一个有趣的挑战。 我正在合作的公司正在build立其开发/发布工作stream程和环境。 最终的生产环境是在Virtuozzo虚拟化环境中运行CentOS的VPS。
我们希望为每个开发人员的本地系统安装生产环境的虚拟化实例(或与之相近的东西)。 这将允许每个开发人员在他/她自己的系统上本地testing更改,而不会在出现问题时玷污其他人的系统。
显然,有很多方法可以做到这一点,但我想有一个更好的方法。 这是我需要你的帮助。
到目前为止,最好的select似乎如下。
导出/备份Virtuozzo VM。 将其下载到本地系统并将其安装到Virtuozzo容器中。
这是最干净/最纯粹的解决scheme,但可能无法正常工作。 例如,克隆的虚拟机仍然具有来自VPSnetworking的所有networkingconfiguration。 编写一个脚本来更新这些(以及其他任何旧的configuration值)是很困难的,所以它们更适合于本地VM吗?
将代码库部署到在任意虚拟化产品中创build的类似configuration的虚拟机。
这种方法不是那么干净,但我知道它可以工作(我以前做过)。 例如,我们可以将相同版本的CentOS,Apache,MySQL等安装到本地的VMWare虚拟机上。 环境不会与生产环境相同,但可能足够接近以使此工作stream程可行。
另外一个select?
你认为还有什么其他的select? 或者,这些select之一是最好的? 我很想听听你的想法! 🙂
编辑:
生产服务器上的多个cPanel /用户帐户
我联系了我们的VPS的客户支持,看看我是否可以访问Virtuozzo备份; 他拒绝了我们的请求,但build议我们可以尝试为每个开发人员创build一个单独的cPanel /用户帐户。 这将允许环境与服务器的环境相同,但会稍微不方便,因为环境将仍然远程运行而不是本地运行。 不过,一个体面的select。
这将完全适合你…
在源VM实例…
sudo su cd / tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
在目标机器上(专用或VPS)
tar xvpfz backup.tgz -C /
并确保排除的任何dir被重新创build
mkdir proc mkdir lost+found mkdir mnt mkdir sys
您可以创build一个不错的Microsoft VirtualPC Linux映像,并将其发送给每个人