Plan de pruebas PRE
- 1 Pruebas sobre Herramientas
- 2 Recomendaciones para los equipos de desarrollo
- 2.1 Revisión de Configuraciones de Maven
- 2.2 Revisión de Configuraciones de Gradle
- 2.3 React y JavaScript
- 2.4 Actualización de Pipelines y Scripts de CI/CD
- 2.5 Gestión de Repositorios Git
- 2.6 Validación de Integraciones y Webhooks
- 2.7 Revisión de Documentación y Prácticas Internas
- 2.8 Pruebas Locales
- 2.9 Revisión de Acceso y Autenticación
- 3 FAQ
Pruebas sobre Herramientas
Las pruebas se realizarán en el entorno controlado de Bitbucket Cloud PRE y Bamboo PRE.
El link para realizar las pruebas de Bitbucket PRE es: https://bitbucket.org/pre-project-tools-santillana/workspace/overview/
El link para realizar las pruebas de Bamboo PRE es: https://bamboopre.project-tools.santillanatn.com/
El link para realizar las pruebas de Nexus es: Nexus Repository Manager
El link para realizar las pruebas de Sonar es: https://sonar.project-tools.santillanatn.com/sessions/new?return_to=%2F
Pruebas CRUD sobre Repositorios
Estas pruebas son fundamentales para asegurar que las funcionalidades básicas de gestión de repositorios funcionan correctamente en Bitbucket Cloud.
Nota: También incluir pruebas de CRUD mediante Token y SSH
Nota: Probar sólo las tareas responsabilidad del equipo (las que sean responsabilidad de los administradores de la herramienta no son necesarias)
Creación de Repositorios:
Crear un nuevo repositorio desde cero.
Importar un repositorio desde otro sistema.
Lectura de Repositorios:
Clonar repositorios existentes.
Navegar por el código fuente en la interfaz web de Bitbucket Cloud.
Realizar búsquedas dentro de los repositorios.
Actualización de Repositorios:
Subir cambios mediante
git push
.Crear y actualizar ramas.
Realizar y revisar pull requests.
Gestionar conflictos de merge.
Eliminación de Repositorios:
Eliminar repositorios y ramas.
Restaurar repositorios eliminados desde el backup (si aplica).
Pruebas de Integración End to End con Bamboo, SonarQube y Nexus*
Dado que Bamboo, SonarQube, y Nexus son componentes críticos en la cadena de integración y despliegue continuo, es importante validar la interacción entre estos y Bitbucket Cloud.
El punto más importante de las pruebas pre-migración es la integración con Bamboo para lo que es necesario modificar los planes de construcción
Integración Bamboo-Bitbucket Cloud:
Modificar los planes de construcción a probar. Puedes seguir esta guía para ello: Cambios a realizar en planes de Bamboo por la migración de Bitbucket
Ejecutar planes de construcción que extraigan el código de Bitbucket Cloud.
Validar que los webhooks y triggers de Bamboo funcionan correctamente para iniciar construcciones tras un push o un pull request en Bitbucket Cloud.
Probar la ejecución de scripts personalizados en los pipelines de Bamboo que interactúen con Bitbucket Cloud.
Debido a los problemas de espacio que hay en Nexus, es altamente recomdable deshabilitar la tarea de subida de artefactos durante las pruebas en el entorno de preproducción (así se evita la subida de artefactos en la prueba)
Integración Nexus-Bamboo *(No realizar en el entorno de pruebas de preproducción):
Validar la publicación de artefactos generados desde Bamboo en Nexus.
Probar la descarga de dependencias desde Nexus en builds que se inician desde Bamboo y que están en repositorios alojados en Bitbucket Cloud.
Asegurar que los permisos y roles de acceso a Nexus no se ven afectados por la migración a Bitbucket Cloud.
Pruebas de Seguridad
Validación de Permisos:
Asegurarse de que los permisos de repositorio y equipo se han migrado correctamente.
Comprobar que los controles de acceso a ramas están configurados según las políticas de la organización.
Autenticación y Autorización:
Probar el acceso a los repositorios con las credenciales migradas.
Pruebas de Rendimiento (son responsabilidad de los administradores de la herramienta)
Clonación y Push de Repositorios Grandes:
Medir el tiempo de clonación y push para repositorios de gran tamaño.
Evaluar el rendimiento general de la interfaz web de Bitbucket Cloud con un número elevado de usuarios.
Ejecución de Pipelines:
Evaluar el tiempo de ejecución de pipelines en Bamboo al interactuar con Bitbucket Cloud en comparación con la configuración anterior.
Recomendaciones para los equipos de desarrollo
Revisión de Configuraciones de Maven
Configuración del Archivo
settings.xml
en.m2
:Es esencial revisar las configuraciones en el archivo
settings.xml
ubicado en el directorio~/.m2
, con especial atención a repositorios de artefactos, servidores de integración continua (CI) y credenciales.Asegurarse de que las URLs de los repositorios en el
pom.xml
están actualizadas para apuntar a Nexus u otros repositorios de artefactos configurados tras la migración.
Depuración de Dependencias:
Revisar las dependencias en el archivo
pom.xml
para eliminar cualquier referencia a rutas o URLs específicas de Bitbucket Server.Comprobar que las dependencias se resuelven correctamente al ejecutar construcciones en el nuevo entorno.
Revisión de Configuraciones de Gradle
Actualización de los Scripts de Construcción (
build.gradle
):Verificar que los repositorios de dependencias mencionados en los archivos
build.gradle
están correctamente configurados para funcionar con Bitbucket Cloud.Revisar los scripts de automatización y CI para asegurar que no dependen de configuraciones específicas de Bitbucket Server.
Validación de Plugins:
Confirmar que los plugins de Gradle utilizados en los proyectos son compatibles con Bitbucket Cloud y no requieren configuraciones adicionales para funcionar correctamente.
React y JavaScript
Revisión de Paquetes y Dependencias:
Comprobar que los archivos de configuración de paquetes como
package.json
no contienen dependencias que dependan directamente de configuraciones específicas de Bitbucket Server.Verificar que los scripts de automatización para la instalación de dependencias o la construcción de aplicaciones React funcionan correctamente en el nuevo entorno.
Actualización de Pipelines y Scripts de CI/CD
Modificación de Pipelines:
Revisar y actualizar las configuraciones de los pipelines en Bamboo que interactúan con Bitbucket. Verificar que las integraciones y triggers funcionan correctamente con Bitbucket Cloud.
Asegurarse de que las variables de entorno y rutas utilizadas en los scripts de CI/CD están actualizadas y no hacen referencia a la infraestructura antigua de Bitbucket Server.
Automatización y Scripts Personalizados:
Asegurarse de que los scripts personalizados que interactúan con la API de Bitbucket están actualizados para utilizar las APIs de Bitbucket Cloud.
Verificar que cualquier automatización personalizada sigue funcionando después de la migración.
Gestión de Repositorios Git
Configuración del
gitconfig
:Revisar las configuraciones globales y locales de Git (
.gitconfig
) para asegurar que están configuradas correctamente para interactuar con Bitbucket Cloud, especialmente en lo que respecta a autenticación y manejo de credenciales.
Actualización de Remotes:
Verificar que las URLs remotas de los repositorios (
git remote
) apuntan correctamente a los nuevos repositorios en Bitbucket Cloud.Realizar pruebas de
git clone
,git push
, ygit pull
para confirmar que los usuarios pueden interactuar sin problemas con los nuevos repositorios.
Validación de Integraciones y Webhooks
Revisión de Integraciones:
Verificar que las integraciones con herramientas externas (como Jenkins, Slack, Jira, etc.) que dependen de Bitbucket están correctamente configuradas para funcionar con Bitbucket Cloud.
Confirmar que los webhooks están funcionando correctamente y que las notificaciones llegan a los canales correspondientes.
Revisión de Documentación y Prácticas Internas
Actualización de Procedimientos Internos:
Asegurarse de que toda la documentación interna que hace referencia a Bitbucket Server se ha actualizado para reflejar los cambios a Bitbucket Cloud. Esto incluye guías de desarrollo, manuales de usuario, procedimientos de CI/CD, etc.
Capacitación y Soporte:
Proporcionar capacitación sobre el uso de las nuevas características de Bitbucket Cloud, incluyendo la nueva interfaz, configuraciones de permisos, y la gestión de pipelines de CI/CD.
Establecer un canal de soporte para que los usuarios puedan reportar problemas o solicitar ayuda relacionada con la migración.
Pruebas Locales
Pruebas de Construcción Locales:
Ejecutar pruebas locales exhaustivas para asegurar que los proyectos se construyen y ejecutan correctamente con las nuevas configuraciones antes de integrar cambios en los repositorios migrados.
Pruebas de Integración:
Ejecutar pruebas de integración para validar que los proyectos funcionan correctamente cuando interactúan con otros servicios y dependencias después de la migración.
Revisión de Acceso y Autenticación
Actualización de Accesos:
Asegurar que los usuarios tienen los accesos correctos en Bitbucket Cloud y que no experimentan problemas de permisos al interactuar con los repositorios.
Validar que las políticas de autenticación (como SSO, OAuth, etc.) están configuradas correctamente y que los usuarios pueden autenticarse sin problemas.
FAQ
Cómo actualizar la dirección/URL del servidor Bitbucket en Bamboo
Introducción
Cuando se cambia la URL del servidor de Bitbucket, es necesario realizar algunos pasos para asegurarse de que la integración entre Bitbucket y Bamboo siga funcionando. Para el propósito de este artículo de la base de conocimiento, es importante entender que Bamboo utiliza dos direcciones para comunicarse con el servidor de Bitbucket:
La URL HTTP de Bitbucket (también conocida como la URL del enlace de la aplicación): Esta se utiliza para varias llamadas de API entre Bamboo y Bitbucket para casi todas las funciones de integración.
La URL base de SSH de Bitbucket (Administración de Bitbucket >> Configuración del servidor > URL base de SSH): Esta es la dirección que Bamboo utiliza para ejecutar comandos Git, detectar cambios y recuperar el código fuente tanto en el servidor de Bamboo como en sus agentes.
Solución
Vamos al plan de construcción → Actions → Configure plan.