2011-05-13 15 views
5

Estoy buscando una herramienta para realizar un seguimiento de "qué se está ejecutando en". Tenemos un montón de servidores, y en cada uno de esos muchos proyectos. Estos proyectos se pueden ejecutar en una versión específica (etiqueta hg/commit nr) y también tienen sus requisitos en versiones específicas.Python: herramienta para realizar un seguimiento de las implementaciones

La tela parece un gran comienzo para realizar las implementaciones reales mediante la automatización de la parte ssh. Sin embargo, una vez que se realiza una implementación, no hay una descripción general de lo que se hizo.

Antes de reinventar la rueda me gustaría comprobar aquí también en SO (hice mi mejor esfuerzo con Google pero podría estar buscando las palabras clave incorrectas). ¿Hay alguna herramienta de este tipo ya?

(En la práctica estoy despliegue de proyectos de Django, pero no estoy seguro de que es relevante para la cuestión; nada de lo que hace un seguimiento de PIP/virtualenv instala o estado del servidor, en general, debe estar bien)

muchas gracias ,

Klaas

==========

EDICIÓN DE TEMP. SOLUCIÓN

==========

Por ahora, hemos elegido para simplemente almacenar esta información en un simple almacén de claves-valor (en nuestro caso: el sistema de archivos) que tomamos gran cuidado de hacer una copia de seguridad (en nuestro caso: usando un DCVS). Hacemos un seguimiento de esta tienda con la misma herramienta de implementación que usamos para realizar las implementaciones reales (en nuestro caso: tela)

Las contraseñas se almacenan dentro de un volumen TrueCrypt que se almacena dentro de nuestro almacén de clave-valor.

==========

yo todavía con mucho gusto aceptará ninguna respuesta cuando algún tipo de solución Open Source a este problema aparece en alguna parte. Podría compartir (parte de) nuestra solución en algún lugar en el futuro cercano.

Respuesta

1

pip freeze le ofrece una lista de todos los paquetes instalados. Bonificación: si redirige el resultado a un archivo, puede usarlo como parte de su proceso de implementación para instalar todos esos paquetes (pip puede instalar programáticamente todos los paquetes del archivo).

Veo que ya está usando virtualenv. Bueno. Puede ejecutar pip freeze -E myvirtualenv > myproject.reqs para generar un archivo de dependencia que sirva como informe de estado del entorno de Python.

+0

Gracias por su respuesta. Ya estoy usando congelación de pip, me preguntaba si es una especie de herramienta integral para rastrear el estado de múltiples proyectos (con posiblemente múltiples versiones) en múltiples servidores. –

0

Tal vez usted quiere algo así como OpscodeChef.

En sus propias palabras:

chef trabaja por que le permite escribir recetas que describen cómo desea que una parte de su servidor (como Apache , MySQL o Hadoop) a configurar. Estas recetas describen una serie de recursos que deben estar en un estado particular - por ejemplo, paquetes que se deben instalar, servicios que deberían estar en ejecución, o archivos que se habrían de escribir.Luego, , asegúrese de que cada recurso esté configurado correctamente, tomando solo acción correctiva cuando sea necesario. El resultado es un mecanismo seguro flexible para asegurarse de que sus servidores estén ejecutando siempre exactamente como usted desea.

EDIT: Nota cocinero no es una herramienta de Python, es una herramienta de propósito general, escrita en Ruby (parece). Pero es capaz de soportar varios "libros de cocina", incluido uno para instalar/mantener Python apps.

+0

Eso todavía no es todo: estoy buscando una solución más elegante para hacer un seguimiento de un montón de proyectos en varios servidores que estoy buscando la forma real de obtener el código en los servidores. El último problema parece resolverse de varias maneras, el primero no. –

+0

Llevar un registro de lo que está instalado donde es más o menos "la salsa secreta". Las personas/entidades que lo hacen bien, no parecen ser muy francos al respecto. Probablemente porque el dicho "sause" es muy específico de la infraestructura. –

Cuestiones relacionadas