4 jun 2012

Rails - Deployment (reformulación)

Bueno, después de pensarlo un poco, me parece que la cosa se simplifica un poco.
  1. Configuración del sistema. (Debiera ser manejada con puppet o similar).
    Para todas estas acciones se requiere acceso de root.
    1. Crear usuario para la aplicación.
    2. Instalar dependencias, librerías, etc.
    3. Instalar aplicaciones (ruby, mysql, sudo, apache/nginx, passenger.
    
    # adduser
    # aptitude install build-essential openssl libreadline6 libreadline6-dev curl \
      git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3    \
      libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool     \
      bison subversion
    # aptitude install libmysqlclient-dev
    
  2. Configuración a nivel de usuario (Se automatiza con capistrano).
    NO se requiere acceso de root.
    1. Instalación de rvm, ruby, bundle. (cap deploy:setup)
    2. Clonación del repositorio.
    3. Actualizaciones.
    Se necesita leer con suerte: capistrano, rvm, bundle y load deploy/assets .
  3. Configuración de la aplicación:
    Requiere SUDO. (o sería mejor con sudo)
    1. Compresión de los logs (logrotate).
    2. Cron jobs. (whenever)
    3. Aviso de errores. (ni idea) aunque quizás es god.
    4. Configuración del virtual host. (Apache/nginx).
    5. Configuración del usuario en MySQL. (Encargarse de el archivo database.yml. Aunque las modifiqué un poco para parecerse más a esto)
Otra página de utilidad, podría ser debian-admin.

Otra opción, radicalmente distinta, es utilizar los paquetes de debian para hacer la instalación debianizada.

No hay comentarios:

Publicar un comentario