Entornos de Títeres organizado en diferentes escritorios

Entornos de marionetas como el desarrollo, pruebas y producción pueden ser lógicamente organizados en diferentes escritorios para simplificar la gestión de configuración del sistema.

Ambientes proporcionan una forma segura de desarrollar sistemas de control de marionetas. Puedo organizar el ciclo de desarrollo de marionetas en tres ambientes tales: desarrollo, pruebas y producción. Ventanas de aplicación para cada entorno están organizados en escritorios separados, el uso de un gestor de escritorio que describo en otro post. Esto se ilustra en la figura siguiente.

Puppet Environments and Desktops

Entornos de Títeres y de escritorio


Entorno de desarrollo en el Escritorio Desarrollo

El entorno de desarrollo se ejecuta en mi estación de trabajo local. Yo uso una herramienta de virtualización, tales como VMWare y VirtualBox, para crear tanto un maestro de marionetas locales, así como un nodo de desarrollo. The Puppet Master ejecuta Samba para compartir la /etc/puppet directorio para que pueda editar archivos de marionetas con un editor de texto en mi estación de trabajo.

Un segundo servidor virtual emula el sistema de destino que estoy desarrollando. El Agente de marionetas que se ejecutan en este nodo se conecta al Puppet Master locales. Por simplicidad, la seguridad y la seguridad, Conecto el nodo de desarrollo a un Puppet Master local en lugar de el que yo uso en la producción de.

Las ventanas para editar los archivos de texto, corriendo Puppet, los archivos de registro de seguimiento y explorador de archivos se distribuyen en los múltiples monitores, como descrito en otro post. Este conjunto de ventanas definir mi "Desarrollo de Escritorio". Como puedo desarrollar el nodo, Constantemente volver a ejecutar el agente de Títeres, revisar los mensajes de registro y prueba de forma local. Después de la finalización de cada historia de desarrollo, Reviso los archivos en mi repositorio de código Subversion.

Prueba de Medio Ambiente en el escritorio Testing

Los archivos de la marioneta que se crearon en el entorno de desarrollo están desprotegidos al Entorno de Pruebas. Las aplicaciones para el entorno de pruebas se organizan en un nuevo ordenador de sobremesa, usando mi gestor de escritorio. Estas aplicaciones incluyen varias ventanas de shell y las ventanas del navegador, como los bancos de pruebas de Selenium se ejecutan bajo el control de Jenkins.

El servidor de control de calidad utilizados en el entorno de pruebas es idéntico al servidor de producción, a excepción de algunos detalles menores, como las direcciones IP, nombres de host y permisos de acceso. Por ejemplo, el sitio web que está utilizando ahora (jaroker.com) se puso a prueba por primera vez el servidor de control de calidad se ejecuta qa.jaroker.com.

Una combinación de Títeres y Jenkins se utiliza para volver a crear el ambiente de prueba. La base de datos del entorno de producción se carga en el entorno de pruebas (después de hacer cambios a cosas tales como el nombre de host).

Pruebas de Selenium realizan comprobaciones de regresión en la aplicación web que se ejecuta en el servidor de control de calidad. Para mi proyecto SOFIns, acerca de 30 verificaciones de regresión que se ejecutan automáticamente. Esto se suma a las pruebas manuales.

Después de que todos los cheques pasan, la configuración de marionetas se aplica al entorno de producción.

Entorno de producción en el escritorio de Producción

El entorno de producción utiliza el mismo código de marionetas que se ha probado previamente en la Prueba idéntica para el Medio Ambiente. La implementación en producción es rápida y sencilla y sin sorpresas, porque todas las pruebas y solución de problemas se produjeron en los dos entornos anteriores.

Escritorio de conmutación

El cambio entre escritorios me permite cambiar entre los diferentes ambientes de la marioneta. Puedo desarrollar, prueba y llevar a los nuevos cambios de configuración en la producción rápidamente. Un sistema de configuración muy compleja está organizada y manejable.

07 de enero, 2013 Publicado por Jon Jaroker Archivado en: Flujos de trabajo de títeres