Como no me sirve heroku (ver artículo) probando Engine Yard (EY de ahora en adelante)

Es mucho más flexible en cuanto a que puedes instalar paquetes (de hecho tiene un set de paquetes descargados para instalar >>) y tiene un sistema de archivos escribible. De hecho te pasan prácticamente el control de las máquinas.

TeXLive está entre los paquetes instalables con un click, así como xpdf, el de pdfinfo

Se deploya con git también pero no con push, sino que dándole la dirección para que haga el pull y, si el repo es privado, hay que setear la clave ssl que te dan en ~/.ssh/authorized_keys

Chef

Va a haber que jugar con Chef >> (best practices >>).
Una guía de instalación >> hay que crearse una cuenta (gratis), después una organización en ésta

El problema que enfrento es que la dependencia de FileUtils a RMagick exige ImageMagick superior a cierta versión >>. Afortunadamente una versión más nueva se encuentra entre los paquetes de la VM pero está masked.

Los masked packages son un concepto de Gentoo, los cuales son paquetes no suficientemente testeados y preparándose para el próximo release. En el fondo HY tiene la versión de ImageMagick pero escondida, hay que ‘desenmascararla’ e instalarla.

Puedo unmask la última versión de ImageMagick >> por consola con

 ACCEPT_KEYWORDS="~amd64" emerge imagemagick >>

lo cual funciona pero nunca supe cómo ejecutarlo en todos los servidores a la vez

ey ssh -A ACCEPT_KEYWORDS="~amd64" emerge imagemagick

me daba algo así como

debe recibir máximo 0 argumentos

y en todo caso lo que uno haga en la shell durará lo que la máquina virtual – hasta el próximo reboot o deploy.

Lo correcto es dejarlo como instrucción en Chef para que a cada redeploy se instale esta versión.

Básicamente, tendré que clonar el recipe por defecto >> y hackearlo. ejemplos >
Esto lo haremos en el recipe emerge (emerge es como el aptitude o yum de Gentoo)

De hecho tiene un README que dice que para éso es

This cookbook holds 2 definitions, one called enable_package and one called update_file. Between these two definitions it enables you to ‘unmask’ a package in Chef and then install an ‘masked’ version of said package.

Entonces habilitamos la versión de imagemagick enmascarada y luego la instalamos:

enable_package "media-gfx/imagemagick" do
    version "6.7.8.8"
end

package "media-gfx/imagemagick" do
    version "6.7.8.8"
    action :install
end

Buena página donde encontrar los logs en EY >>

Pudiendo deployarlo en dos servers por primera vez, me doy cuenta que esta app requiere sticky sessions pues trabaja en un directorio local, y al parecer EY no soporta éso…

Este sitio utiliza cookies.    Leer más
Privacidad