-
Notifications
You must be signed in to change notification settings - Fork 191
Intensificación Técnico Organizativa (ITO)
brgutierrez edited this page Jan 8, 2025
·
1 revision
- 📷 Clone el repositorio desde su fork en GitHub: Utilice el enlace de su fork para clonar el repositorio en su ordenador.
- 📷 Despliegue el sistema en local.
- 📷 Muévase a la rama
feature/init-bug
y relance la aplicación. Debería encontrar un error debido a que alguien ha comentado accidentalmente la funcióncreate_app
en el archivoapp/__init__.py
. - Cree una issue en su fork para reportar el error: Utilice una plantilla de issues que sea similar a la empleada en su proyecto (por ejemplo, con secciones para descripción, pasos para reproducir, y el comportamiento esperado).
- 📷 Cree una rama local a partir de
feature/init-bug
para solucionar la issue. Nombre a la ramafix/app-init
. Trabaje en esta rama para solucionar el error reportado en la issue. Realice los cambios necesarios, haga commit y asegúrese de incluir un mensaje de commit descriptivo que haga referencia a la issue. Haga push de la nueva rama. - Desde la rama
fix/app-init
, abra una Pull Request (PR) hacia la ramafeature/init-bug
. En el mensaje de la PR, describa la solución aplicada y haga referencia a la issue creada previamente. Complete el proceso hasta cerrar la PR. No elimine la rama, la necesitará a continuación. - Simule un conflicto intencionado y resuélvalo:
- 📷 Cree una nueva rama llamada
feature/conflicto
a partir defix/app-init
. - 📷 Realice cambios en el archivo (
app/__init__.py
). Por ejemplo, modifica la configuración de la base de datos de manera diferente (db.init_app(app, uri=os.getenv('DB_CONNECTION_STRING'))
). Haga commit y confirme los cambios. - 📷 Regrese a la rama
fix/app-init
y realice cambios en el mismo archivo y línea, pero con una configuración diferente de la base de datos (db.init_app(app, uri=os.getenv('DATABASE_URI'))
), esto preparará el escenario para el conflicto. Haga commit y confirme los cambios. - 📷 Intente realizar el merge de la rama
feature/conflicto
haciafix/app-init
. - 📷 Durante el proceso de merge, resuelva el conflicto de forma manual, asegurándose de mantener ambos cambios.
- 📷 Confirme la resolución del conflicto y complete el merge.
- 📷 Haga push al repositorio remoto.
- 📷 Cree una nueva rama llamada
- 📷 Identifique el ID de un commit en la rama
hotfix/bug-critical
donde se resuelve el bug de la ramamain
que no permite ver los detalles de un dataset en la vista view_dataset. - 📷 Aplique el commit específico a la rama
main
utilizando un cherry-pick. Verifique el cambio y haga push.
Nota Importante: Todas las acciones (issues, ramas, commits y PRs) deben realizarse exclusivamente en su fork. En ningún caso realice cambios o abra PRs en el repositorio original proporcionado por el profesor.
- 📷 Cambie a la rama
config/ci
y modifique el workflowejercicio_ci.yml
para usar Python 3.11. - 📷 Añada un nuevo job
outdated_dependencies
al workflow ejercicio_ci.yml para comprobar dependencias desactualizadas. - 📷 Verifique el correcto funcionamiento del workflow.
- 📷 Configure el workflow para lanzar pruebas con MySQL
5.7
y8.0
. - 📷 Verifique el correcto funcionamiento del workflow.
- 📷 Cambie a la rama
chore/docker
y despliegue el sistema utilizando Docker en el equipo. - 📷 Configure
uvlhub
para que no utilice el modo DEBUG de Flask cuando se despliegue con Docker. - 📷 Compruebe su correcto funcionamiento y verifique que no está en modo debug. No olvide hacer commit y push en rama
chore/docker
.
- 📷 Cambie a la rama
chore/vagrant
y realice los cambios necesarios para que la máquina virtual creada utilice 6 CPUs y 4 GB de RAM. - 📷 Despliegue el sistema utilizando vagrant. No olvide hacer commit y push en rama
chore/vagrant
.