deployment - Debian 软件包与 Fabric 部署

标签 deployment package debian fabric

与使用 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 的一些原因:

  1. 当我不投入生产时,仍在开发和测试东西。当添加/修改代码时,Debian 在大多数情况下都是合适的。 Fabric 只是简化了从开发到生产的过渡。
  2. 有时,如果我仅在我的计算机上部署应用程序,Fabric 似乎有点大材小用。如果部署不涉及很多机器,需要多个依赖项,我会坚持使用 Debian。
  3. 当无法进行回滚或撤消时。 Fabric 只会安全或不安全地执行你的命令,如果你不擅长处理系统错误/异常,请在使用 Fabric 之前尝试一下。 (Debian是系统的一部分,所以必须使用Debian和其他系统工具)

关于deployment - Debian 软件包与 Fabric 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15126457/

相关文章:

java - MVP android 项目的包结构

r - 使用 mapply() 进行列行比较

github:服务器证书验证失败

linux - 什么可以使程序在 `strace` 内表现不同?

ruby - 无法在 Elastic Beanstalk 上使用 Puma 部署 Rails 应用程序

compiler-errors - 将类转换为 haxelib 后的 "Type not found"

linux - 使用 Forever 部署 Meteor

sockets - 在openSUSE中工作的套接字在Debian中不工作吗?

ruby-on-rails - Chef : deploy rails from git subfolder

spring-boot - JBAS015852 : Could not index class module-info. 类 - Spring Boot + Jboss 7.1.1