Hacer un "dry run" de la actualización en un entorno de preproducción
Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015
Nota
Azure DevOps Server anteriormente se denominaba Visual Studio Team Foundation Server.
¿Tengo que preocuparme?
Se recomienda encarecidamente realizar un "dry run" de la actualización en un entorno de preproducción, pero no siempre tiene sentido. Si está debatiendo si se debe realizar o no una actualización de preproducción, sopese los costos de hacerlo frente a los costos de no hacerlo. En concreto, si algo va mal con la actualización de producción, el costo principal será el tiempo de inactividad que conlleva la reversión a la versión anterior de TFS. Dependiendo de los detalles de la actualización, podría ser un proceso rápido y sencillo, o bien puede tardar mucho tiempo e implicar una gran cantidad de partes móviles. Al igual que con la actualización, la complejidad de la reversión dependerá de aspectos como el tamaño de las bases de datos, el número de máquinas implicadas, etc.
Conceptos básicos
Si decide avanzar con una actualización de preproducción, el proceso general consta de:
- Configuración de un entorno de preproducción similar al entorno de producción.
- Protección del entorno de producción.
- Restaurar bases de datos a partir de copias de seguridad.
- Realizar la actualización.
Parar un entorno
En un mundo ideal, el entorno de preproducción sería exactamente igual que el entorno de producción; de esta manera, obtenería lo más preciso posible una imagen de cuánto tiempo llevará la actualización, si se encontrará con algún problema a lo largo del proceso, etc. En el mundo real, sin embargo, esto no siempre es posible ni deseable. El producto no admite la clonación de SharePoint de integración, por ejemplo. Y los costos de aprovisionar un segundo conjunto de máquinas idénticas para pruebas de preproducción pueden ser prohibitivos. Sin embargo, no permita que estas discrepancias le disuen: casi cualquier entorno de preproducción es mejor que nada.
Protección de producción
Las bases de datos de TFS contienen una serie de configuraciones que apuntan a varios recursos en su entorno de implementación. Por ejemplo, las cadenas de conexión de la base de datos de recopilación se almacenan en la base de datos de configuración, al igual que el recurso compartido de red utilizado por la característica de copias de seguridad programadas. Como resultado, es posible que un entorno de preproducción cause problemas en un entorno de producción, y es un procedimiento recomendado al crear un entorno de preproducción tomar medidas para evitarlo.
El paso más importante que puede realizar es usar una cuenta de servicio en el entorno de preproducción que no tenga ningún permiso para el entorno de producción. Lo ideal es que no tenga permisos en TFS, en SQL, en recursos compartidos de red, etc. Las opciones aquí incluyen Servicio de red (suponiendo que la cuenta de máquina de preproducción no necesita permisos en producción) o una cuenta de dominio de preproducción dedicada, como en el ejemplo siguiente.

Otro paso opcional consiste en agregar entradas a los archivos de hosts de las máquinas de preproducción para asignar los nombres de las máquinas de producción a direcciones IP no válidas. Consulte la entrada de Wikipedia aquí si no está seguro de qué es un archivo de hosts. Esto puede impedir la comunicación saliente con las máquinas de producción desde las máquinas de preproducción.

Restaurar bases de datos
Si usa el Asistente para copias de seguridad programadas para generar copias de seguridad de base de datos a partir de la implementación de producción, también puede usarla para restaurar las copias de seguridad en la implementación de preproducción. Si no es así, también puede seguir los procedimientos SQL estándar para restaurar las copias de seguridad. La lista de bases de datos para realizar copias de seguridad y restauración debe incluir siempre la base de datos de configuración y todas las bases de datos de colección. Si el entorno de preproducción incluirá características de informes, también debe incluir las bases de datos del almacén y del servidor de informes.
Realizar la actualización
Instale la nueva versión de TFS en las máquinas del nivel de aplicación. Antes de ejecutar el Asistente para actualización, ejecute el comando ChangeServerId. Esto garantizará que no se encuentra con problemas si accede a los entornos de producción y preproducción desde los mismos clientes, y debe realizarse siempre que esté clonando una colección o una implementación completa.
Una vez que esté listo, actualice el entorno de preproducción con los mismos pasos que usará para actualizar la producción. Asegúrese de que no recuerda usar una cuenta de servicio que no tenga permisos en el entorno de producción.
Configuración de nuevas características
Algunas actualizaciones presentan nuevas características que toman pasos adicionales para configurar, ya que implican el proceso de cambios en los proyectos existentes. Dependiendo de los detalles de los proyectos y de la versión de TFS desde la que se va a actualizar, esto podría ser más o menos complicado. Vea aquí para obtener más detalles.
Prueba de las cosas
Tome el servidor de preproducción para un giro. Pruebe algunas de las nuevas características... Tenga en cuenta que algunas cosas, como la ejecución de compilaciones, requerirán alguna configuración adicional.
Si detecta algún problema, intente resolverlos aquí para evitar que se vuelvan a encontrar en producción. Cuando esté satisfecho, llámelo un día y pase a la actualización de producción.