Actualmente estoy trabajando en la automatización/mejora del proceso de lanzamiento para empacar el producto completo de mi tienda. Actualmente el producto es una combinación de:¿Mejores prácticas para obtener información sobre la versión?
- -lado del servidor Java código base archivos de configuración y aplicación
- XML
- Los scripts de shell y de lote para los administradores
- estáticamente servían páginas HTML
- y algunas otras cosas , pero eso es la mayor parte
Todos o la mayoría de los cuales tienen varias versiones de información contenidas en ellos, nosotros ed para diferentes propósitos. Parte del proceso de empaquetado de lanzamiento implica hacer muchos hallazgos, grep'ing y sed'ing (en scripts) para actualizar la información. Este pegamento que empaqueta el producto parece haber sido improvisado de una manera orgánica, justo a tiempo, y es bastante horrible de mantener. Por ejemplo, algunos métodos Java crean objetos Date para el momento de la publicación, cuyos argumentos se actualizan mediante un reemplazo textual, sin validación del compilador ... just, urgh.
Estoy tratando de evitar dar ejemplos del software real utilizado (es decir, CVS, SVN, hormiga, etc.) porque me gustaría evitar el "uso de la función xyz para hacer esto" y concentrarme más en las prácticas generales. Me gustaría echarle la culpa al diseño de mala calidad por el problema, pero si tuviera que volver a empezar, aún utilizando tecnologías diferentes, no estaría seguro de cómo manejarlo mejor, más allá de establecer convenciones.
Mi pregunta es, ¿existen mejores prácticas o consejos para mantener y actualizar la información de versiones en diferentes tecnologías, tipos de archivos, plataformas y sistemas de control de versiones?