Debian Packages and Fabric Deployment

What are the advantages and disadvantages of using Debian packages to deploy a web application as opposed to using Fabric? I only used Debian packages.

I'm also interested in learning about the issues you encountered while using Fabric, and you wanted you to use Debian packages.

+6
source share
1 answer

Debian

This is the package manager. It allows you to manage packages through various programs, such as dpkg or apt in the system.

What does he do for you:

  • creates a package from source code
  • handles package dependencies, package versions
  • installs, updates and removes programs in the system.
  • low level, compiled binaries may be system specific (i386, amd64)

Minuses:

  • To deploy the application, the configuration must be provided in your package or some configuration should be used by default
  • Different binaries for systems with different architecture

the cloth

It is a Python library and command line tool for optimizing the use of SSH for application deployment or system administration tasks.

What does he do for you:

  • configure system
  • execute commands on a local / remote server (system administration)
  • deploy the application, do rollbacks, mainly automating deployment through script
  • works at a higher level, does not depend on the system architecture, but on the OS and package manager

How do you use pip, virtualenv and fabric to deploy?

Minuses:

  • It cannot replace the package manager in the system; it manages packages on top of it
  • You should know the system, command folders specific to your package manager / OS

Update

I was already familiar with Debian when Fabric appeared. Therefore, Debian has remained my preferred tool. Why I use Fabric, it simplifies application deployment and is a convenient tool for developers. Here are a few reasons I would use Debian over Fabric:

  • When I'm not going to do production, I still develop and test the material. Debian comes up most of the time when code is added / changed. The fabric simply facilitates the transition from design to production.
  • Sometimes, if I deploy the application only on my machine, Fabric seems redundant. If the deployment is not related to many machines, several dependencies are required, I would stick with Debian.
  • When rollback or cancel is not an option. Fabric will simply execute your commands safely or not, if you cannot handle system errors / exceptions, try it somewhere before using Fabric. (Debian is part of the system, so you have to use Debian and other system tools).
+1
source

All Articles