2012-09-11 36 views
9

AWS no explica adecuadamente cómo administrar diferentes entornos de implementación en beanstalk en relación con diferentes entornos y cómo guardar esas configuraciones en su repositorio de control de código fuente.Despliegue de Python en Elastic Beanstalk con diferentes configuraciones para diferentes entornos

Ellos explican claramente cómo configurar su python.config en .ebextensions así:

"aws:elasticbeanstalk:container:python:environment": 
    DJANGO_SETTINGS_MODULE: "settings" 
    SERVER_ROOT: "/opt/python/current/app/" 

Sin embargo, si usted quiere tener múltiples entornos como puesta en escena y prod que actualmente tienen que cambiar los archivos de configuración. ¿Qué es peor, cómo planeas retener esto en tu árbol de control de fuente para entornos compartidos como la puesta en escena? Parece que cada vez que empuje necesitará estas configuraciones de entorno de configuración.

También descubrí que AWS no me permite implementar cambios sin registrar, lo que significa que escribir una secuencia de comandos para manejar mis implementaciones tampoco es una opción. ¿Que me estoy perdiendo aqui?

Respuesta

0

No lo he probado, pero parece que puede pasar DJANGO_SETTINGS_MODULE no a través del archivo de configuración, sino a través de los parámetros del contenedor. Puede actualizarlo a través de Detalles del entorno -> Editar configuración -> sección Contenedor de la consola Beanstalk. Así como idea:

  • Crear múltiples entornos de "producción", "puesta en escena", etc
  • Configurar cada uno con valor relevante DJANGO_SETTINGS_MODULE
  • valor DJANGO_SETTINGS_MODULE
  • Quitar del .ebextensions
  • ambiente
  • aplicación Implementar para pre-creado
0

Hice algunas investigaciones sobre esto en el pasado y parece que les gusta que utilicen eb branch para configurar e los diferentes entornos y luego configure la opción de manera diferente dentro de los ajustes de opciones localmente en el nivel de cliente de eb (cuando inicie la rama y esas cosas).

Cuando lo piense bien, la configuración del entorno (es decir, DJANGO_SETTINGS_MODULE) debe gestionarse por separado del código de la aplicación, así que asumo que lo mantiene fuera de las extensiones y lo configuro cuando navego a un nuevo entorno. Si cambio a uno existente, necesito asegurarme de que el valor esté configurado correctamente para el env en el que quiero jugar.

Cuestiones relacionadas