Soy un emprendedor con un proyecto Drupal 6x que comenzó lo suficientemente pequeño como para no necesitar control de versiones (por desarrolladores), pero ahora estoy convencido de que no hay forma de hacerlo sin él. Hay una extensa documentación sobre JIRA, completa con historias de usuarios bien escritas que cubren todo. Leí un poco sobre cómo se podría hacer esto y se me ocurrió el siguiente plan:
- Separe el código del sitio de la base de datos utilizando módulos
- Ponga el código en un repositorio SVN y cree un sitio provisional
- Cree un espejo del servidor provisional en el servidor de producción EC2
- Cree pruebas de Selenium y ejecútelas en la nube usando Saucelabs
- Cree un flujo de trabajo de compilación en JIRA Studio usando Elastic Bamboo para ejecutar actualizaciones automáticas
- Actualice e instale perfiles con Drush Make
- Ejecutar actualizaciones en el servidor de producción (no estoy seguro de cómo)
Para empezar, hice una lista de aproximadamente 50 "Características", cada una con sus componentes (vistas, tipos de contenido, módulos, etc.). Sin duda, esto será un desafío ya que el sitio contiene alrededor de una docena de módulos personalizados y servicios web, sin mencionar otra docena de instancias de tipo de contenido "aplicación" que contiene código personalizado (la mayoría de los cuales me gustaría convertir a vistas o módulos actualizables) . Lo bueno es que el sitio aún no está en producción, por lo que el riesgo aún es limitado.
¿Alguien tiene alguna experiencia en hacer algo similar? ¿Qué trampas y limitaciones debo esperar encontrar? Le agradecería cualquier sugerencia para mejorar / corregir el plan anterior, o cualquier idea o consejo que sus expertos puedan tener para mí.