与使用Fabric相比,使用Debian软件包部署web应用程序的优缺点是什么?我只使用过Debian软件包。
我也很想听听你在使用Fabric时遇到的问题,你希望你使用的是Debian软件包。
Debian
它是一个包管理器。它允许用户通过系统上的各种程序(如dpkg
或apt
)管理包。
它能为你做什么:
- 从源代码 构建包
- 处理包依赖、包版本
- 安装、更新和删除系统上的程序
- 工作在底层,编译的二进制文件可能是系统特定的(i386, amd64)
缺点:
- 要部署应用程序,必须在包中提供配置,或者必须使用某些配置作为默认配置
- 不同体系结构系统的不同二进制文件
织物
它是一个Python库和命令行工具,用于简化SSH在应用程序部署或系统管理任务中的使用。
它能为你做什么:
- 配置系统
- 在本地/远程服务器上执行命令(系统管理)
- 部署您的应用程序,执行回滚,主要是通过脚本自动部署
- 在更高的层次上工作,不依赖于系统架构,而是依赖于操作系统和包管理器
如何使用pip、virtualenv和Fabric来处理部署?
缺点:
- 它不能取代系统上的包管理器,它在它之上管理包
- 你应该知道你的包管理器/OS的系统、命令文件夹
当Fabric出现的时候,我已经很熟悉Debian了。所以Debian一直是我最喜欢的工具。我之所以使用Fabric,是因为它简化了应用程序的部署,而且对开发人员来说是一个方便的工具。以下是我选择使用Debian而不是Fabric的一些原因:
- 当我不投入生产时,仍然在开发和测试东西。在大多数情况下,当添加/修改代码时,Debian是合适的。Fabric只是简化了从开发到生产的过渡。 有时候,如果我只在我的机器上部署应用程序,Fabric似乎有些多余。如果部署不涉及很多机器,需要几个依赖项,我会坚持使用Debian。
- 当回滚或取消不是一个选项时。无论是否安全,Fabric都会简单地执行命令,如果您不擅长处理系统错误/异常,请在使用Fabric之前在某处尝试一下。(Debian是系统的一部分,所以必须使用Debian和其他系统工具)