2011-09-29 2 views
7

En nuestro proyecto estamos utilizando algunas aplicaciones reutilizables django, estamos considerando cómo hacer que la implementación continua y automática sea fácil y sin complicaciones.¿Cuál es la mejor práctica para implementar (administrar la dependencia) las aplicaciones reutilizables de django en un proyecto de producción real?

tenemos 2 opciones:

opción # 1: utilizar "pip instalar xxx" para instalar todas las dependencias de aplicaciones reutilizables. Escriba una secuencia de comandos para instalar y verificar las dependencias.

opción # 2: haga una copia de todas las aplicaciones reutilizables usadas en nuestro propio directorio, por lo que básicamente implementaremos todo en nuestro directorio de proyectos.

Ambas opciones tienen sus pros y sus contras, me pregunto si puede compartir su mejor práctica de hacer esto?

+0

Recomendado: http://blip.tv/djangocon/taming-dependencies-with-pip-5582996 – DrTyrsa

Respuesta

13

Se puede crear un archivo de dependencias con pip muy fácilmente lo que significa que las versiones correctas de cada aplicación se mantendrán entre los servidores

# Save dependancies to a file 
pip freeze > requirement_file.txt 

crea un archivo algo como:

django==1.3 
django-tagging 
markdown 
... 

que luego se puede utilizar para volver a instalar las aplicaciones enumeradas en un servidor diferente

# Install all dependancies in the file 
pip install -r requirement_file.txt 

Este es un enfoque agradable y simple. Puede obtener más complicado con los gustos de zc.buildout

http://pypi.python.org/pypi/zc.buildout

que ayuda a gestionar paquetes (Python y no Python) a través de scripts (Creta le 'recetas' que contiene los detalles de los paquetes que necesitan de la instalación)

Si necesita un control más amplio sobre Server instala usted podría utilizar 'títere' o 'chef'

http://projects.puppetlabs.com/projects/1/wiki/Big_Picture http://wiki.opscode.com/display/chef/Chef+Server

que están destinados a automatizar y desplegar más que solo dependencias, pero servidores enteros

No he necesitado utilizar más de los simples archivos de requisitos pip, pero las otras opciones son geniales si necesita más.

EDITAR

Mantener su propia versión de las aplicaciones en su ruta raíz/pitón proyecto puede convertirse en cubmersome y difícil de seguir, me gustaría sugerir el uso de un archivo de requerimiento de pepita.

+0

Gracias! ¡Eso es muy útil! –

Cuestiones relacionadas