与使用 Fabric 相比,使用 Debian 软件包部署 Web 应用程序有哪些优缺点?我只使用过 Debian 软件包。
我也有兴趣了解您在使用 Fabric 时遇到的问题,并且您希望使用 Debian 软件包。
最佳答案
Debian
它是一个包管理器。它允许用户通过系统上的各种程序(例如 dpkg 或 apt )管理包。
它对你有什么作用:
- 从源代码构建包
- 处理包依赖项、包版本
- 安装、更新和删除系统上的程序
- 在低级别工作,编译的二进制文件可能是特定于系统的(i386、amd64)
缺点:
- 要部署应用程序,必须在包中提供配置,或者必须使用某些配置作为默认配置
- 针对不同架构的系统使用不同的二进制文件
Fabric
它是一个 Python 库和命令行工具,用于简化 SSH 在应用程序部署或系统管理任务中的使用。
它对你有什么作用:
- 配置您的系统
- 在本地/远程服务器上执行命令(系统管理)
- 部署您的应用程序,进行回滚,主要通过脚本自动部署
- 在更高层次上工作,不依赖于系统架构,而是依赖于操作系统和包管理器
How do you use pip, virtualenv and Fabric to handle deployment?
缺点:
- 它无法取代系统上的包管理器,它在其之上管理包
- 您应该了解特定于您的软件包管理器/操作系统的系统、命令文件夹
更新
当 Fabric 出现时,我已经熟悉了 Debian。所以 Debian 一直是我最喜欢的工具。我为什么使用 Fabric,它简化了应用程序的部署,并且对于开发人员来说是方便的工具。以下是我选择使用 Debian 而不是 Fabric 的一些原因:
- 当我不投入生产时,仍在开发和测试东西。当添加/修改代码时,Debian 在大多数情况下都是合适的。 Fabric 只是简化了从开发到生产的过渡。
- 有时,如果我仅在我的计算机上部署应用程序,Fabric 似乎有点大材小用。如果部署不涉及很多机器,需要多个依赖项,我会坚持使用 Debian。
- 当无法进行回滚或撤消时。 Fabric 只会安全或不安全地执行你的命令,如果你不擅长处理系统错误/异常,请在使用 Fabric 之前尝试一下。 (Debian是系统的一部分,所以必须使用Debian和其他系统工具)
关于deployment - Debian 软件包与 Fabric 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126457/