En el trabajo actualmente utilizamos la siguiente estrategia de despliegue:El subir con una estrategia de implementación mejor ASP.NET
- ejecutar un archivo por lotes para borrar todos los archivos temporales de ASP.NET
- ejecutar un script por lotes que compila todos los archivos ASPX en su propia DLL (ASP.NET web Site , no aplicación web)
- copiar cada archivo modificado de forma individual (ASPX y DLL) en la carpeta correspondiente en el servidor en vivo.
- Abra la carpeta
Deployment Scripts
, ejecute cada script SQL (modificaciones de tablas, procesos almacenados, etc.) manualmente en la base de datos de producción. - Diga una oración antes de irse a dormir (bromeando sobre esta, tal vez)
- Pruebe lo primero a la mañana siguiente y espere lo mejor: corrija los errores a medida que surgen.
Nos han mordido algunas veces en el pasado porque alguien olvidará ejecutar un script, o cree que ejecutó algo pero no lo hizo, o sobrescribió un comando relacionado con algún módulo porque hay dos archivos (uno en una carpeta Sprocs y otra en una carpeta relacionada [ModuleName]) o copiado el DLL incorrecto (ya que pueden tener los mismos nombres con un número alfanumérico aleatorio generado por .NET).
Esto me parece muy ineficiente: muchas cosas manuales y muy propenso a errores. A veces puede llevar de 2 a 3 horas para que un desarrollador realice una implementación (lo hacemos a altas horas de la noche, como alrededor de la medianoche) debido a todos los pasos manuales y recordar qué archivos deben copiarse, dónde deben copiarse. , qué secuencias de comandos deben ejecutarse, asegurándose de que las secuencias de comandos se ejecuten en el orden correcto, etc.
Tiene tiene es una manera más fácil que tomar dos horas para copiar y pegar páginas ASPX individuales, archivos DLL, imágenes, hojas de estilo y similares y ejecuta más de 30 scripts SQL manualmente. Usamos SVN como nuestro sistema de control de fuente (principalmente solo para actualización/confirmación, no hacemos ramificaciones) pero no tenemos pruebas de unidad o estrategia de prueba. ¿Existe algún tipo de herramienta que pueda estudiar para ayudarnos a hacer que nuestras implementaciones sean más fluidas?
Está asumiendo que ** tenemos ** un Administrador de UAT, o UAT en absoluto ... o Control de Calidad para ese asunto. Los desarrolladores son nuestros propios QA. –
La terminología del administrador de UAT era, en aras de la claridad, que los desarrolladores pudieran asumir esta función, siempre que siguieran los procedimientos correctos. Lo alentaría a considerar un entorno UAT para que sus implementaciones sean más fluidas y flexibles. –