如何管理虚拟机上的版本和依赖项

如何管理虚拟机上的版本和依赖项

我是 serverfault 的新手,所以请耐心等待。

我目前正在处理静态网络(angular2)并php主要在 DigitalOcean 和 AWS 上使用nginx和进行部署apache2

到目前为止,debian软件包运行良好,但在不久的将来,我可能需要部署到 CentOS,并且debian已经超出了范围,从某种意义上说,我几乎需要重做几乎所有事情。

另外,例如使用 debian 安装的 PHP 版本是 5.5.*,如果我需要升级,我必须依靠第三方存储库来完成工作。

在虚拟机上部署时,是否有更简单、更通用的方法来管理软件、版本和依赖项?

答案1

使用配置管理系统来部署您的包和服务器配置。

一般来说,大多数 CM 系统能够相当优雅地处理 Linux 发行版之间的差异。但是,您会遇到 Debian 和 CentOS 之间的软件包名称会有所不同。因此,您可能需要管理两个软件包列表 - 一个用于 Debian,一个用于 CentOS。

答案2

事实上,它们是虚拟机,但这并没有什么区别,因为你所做的一切都是在操作系统层面上进行的。

根据您想要的方式,Docker 容器可能是一个不错的选择,因为它可以在主机操作系统之间移植,并且无论您在什么上运行都没有关系。

是的,你仍然需要管理包裹里面容器使用一些基础图像,但至少它是你可以严格控制的东西。

相关内容