Skip to content
brgutierrez edited this page Nov 27, 2023 · 1 revision

Enunciado del ejercicio práctico de EGC para el turno de las 11:40.


  • Los alumnos que hayan decidido optar por el itinerario de instensificación colaborativa, deben realizar únicamente los apartados de cada ejercicio marcados en este itinerario.
  • Los alumnos que hayan decidido optar por el itinerario de balance técnico-organizativo, deben realizar los apartados de los ejercicios marcados como relativos a los itinerarios intensificación colaborativa y balance técnico-organizativo.
  • Los alumnos que hayan decidido optar por el itinerario de intensificación técnica, deben realizar todos los ejercicios y todos los apartados de todos los itinerarios.

IMPORTANTE

  • Los ejercicios se realizarán desde los ordenadores del aula de prácticas y se permite la consulta de la wiki de la asignatura y de apuntes en formato físico. En GitHub, sólo se permite el acceso al repositorio del examen. En ningún caso se permitirá acceder a otros recursos externos o repositorios.

  • Realice los cambios en orden secuencial.

  • Se deberá tomar un screenshot después de cada uno de los pasos que estén indicados con el icono 📷, mostrando la salida de la consola y el comando introducido. En el caso de herramientas gráficas o de herramientas web, se tomarán las capturas de pantallas de las mismas.

  • Una vez terminado el ejercicio:

    • Cree un .zip de la carpeta local del repositorio. Asegúrese de incluir la carpeta .git.
    • Cree una carpeta screenshots donde almacenará las capturas de pantalla que las llamará X.Y siendo X el ejercicio e Y el punto en el que esta, por ejemplo A.03
    • Cree un fichero README.txt donde incluya la url del fork realizado y la url de la aplicación de Render si procede.
    • Comprima todo en un zip con el nombre turno22-uvus.zip
  • Posteriormente se subirán las entregas al directorio de HDVirtual indicado en el hiperenlace.

La modificación de cualquier contenido del repositorio (wiki, issues o código) una vez entregado el examen implicará el suspenso del alumno. Antes de dejar la sala de la prueba, avisar al profesor para verificar que todo está correctamente enviado.

Ejecicio A (GIT)

Intensificiación colaborativa

  1. Realice un fork de este repositorio con el nombre EGC2324-turno22-"uvus".
  2. Clone el repositorio del cual ha hecho el fork. 📷
  3. Cree una nueva rama llamada egc_test en el repositorio.
  4. "Salte" a la rama recien creada. 📷
  5. En el código de DECIDE del repositorio existe un error. Identifique el error ejecutando en su máquina el código.
  6. Cree una "issue" en el fork del repositorio para reportar el error según lo visto en clase. 📷
  7. Realice las modificaciones necesarias para corregir el error y haga commit de los cambios en la rama egc_test.
  8. Mediante una pull request, fusione en la rama master/main del repositorio los cambios de la rama de egc_test y asocielo a la issue anterior. 📷
  9. Refleje los cambios del repositorio local en el repositorio remoto que creó en el primer paso.

Balance técnico-organizativo

  1. Cree dos ramas rq1 y rq2, haga modificaciones distintas en el fichero /decide/census/models.py en las que se de un conflicto en alguna linea. 📷
  2. Fusione, resuelva el conflicto e integre los cambios en egc_test. 📷

Intensificación técnica

  1. Haga los cambios necesario para que la rama egc_test contenga los cambios de la rama vagrant (ver ejercicio correspondiente) mediante rebase. 📷

Ejercicio B (GITHUB ACTIONS)

Intensificiación colaborativa

  1. En la rama egc_test, modifique el workflow django.yml para ejecutar las pruebas sin análisis de cobertura y elimine la integración con codacy. 📷
  2. Prepare el workflow para que se ejecute únicamente en esta rama. 📷
  3. Haga commit y push de los cambios realizados.
  4. Verifique el correcto funcionamiento del workflow. 📷

Balance técnico-organizativo

  1. Configure el workflow django.yml para lanzar el job build con dos versiones de postgres diferentes: 14.9 y 15. 📷
  2. Haga commit y push de los cambios realizados.
  3. Verifique el correcto funcionamiento del workflow. 📷

Intensificación técnica

  1. Configure DECIDE para generar releases automáticas mediante el uso de workflows. 📷
  2. Haga commit y push de los cambios realizados.
  3. Verifique que se ha creado una release. 📷

EJERCICIO C (DOCKER)

Intensificiación colaborativa

  1. Realice los cambios necesarios en los archivos de docker para que despliegue este repositorio. 📷
  2. Haga commit de los cambios realizados. 📷

Balance técnico-organizativo

No hay nuevos apartados.

Intensificación técnica

No hay nuevos apartados.

EJERCICIO D (VAGRANT)

Intensificiación colaborativa

  1. Realice los cambios necesarios en los archivos de Vagrant para que despliegue este repositorio. 📷
  2. Haga commit de los cambios realizados. 📷

Balance técnico-organizativo

  1. Cree una nueva rama llamada vagrant y salte a esa rama.
  2. Realice los cambios necesarios en el playbook de Ansible para que el usuario administrador de DECIDE en vagrant sea adminexamen. 📷
  3. Haga commit y push de los cambios realizados. 📷
  4. En la misma rama vagrant, realice los cambios necesarios para que DECIDE se despliegue con Vagrant en el sistema host utilizando 4 núcleos de CPU y 4 GB de memoria RAM. 📷
  5. Haga commit y push de los cambios realizados. 📷

Intensificación técnica

No hay nuevos apartados.

EJERCICIO E (RENDER)

Intensificiación colaborativa

No hay nuevos apartados.

Balance técnico-organizativo

No hay nuevos apartados.

Intensificación técnica

  1. Realice los cambios necesarios para desplegar DECIDE en Render mediante el ciclo de integración y despliegue continuos. 📷
  2. Haga commit y push de los cambios realizados. 📷