Diferencia entre revisiones de «Examen 2 15-16»

De Wiki de EGC
Saltar a: navegación, buscar
 
(No se muestran 7 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
# Haga un fork del proyecto GitHub existente en: https://github.com/ExEGC/codigo1
+
= Ejercicio de EGC =
# Modifique la configuración Maven del proyecto:
+
 
## Elimine la dependencia a la libreria text4J ya que no se usa en el código.
+
# Cree un repositorio git a partir del contenido del fichero .zip que se le ofrece en [https://github.com/ExEGC/Feb15/blob/master/MisMatematicas.zip?raw=true link]
## Indique que el proyecto se encuentra en la versión 3.0 de desarrollo.
+
# La clase App1 dispone del método divide() que contiene un error de programación pues devuelve la multiplicación en lugar de la división. Corrija el problema y aplique el cambio al repositorio en la rama 'master'.
## Haga que artifactId sea ''su dni''.
+
# En una rama denominada 'next', mueva el método multiplica de la clase App2 a la clase App1 y elimine la clase App2.
## Haga que, a la hora de ejecutar los test, el reporte generado se haga en la carpeta ${project.build.directory}/reportesTest. Además, se deberá establecer la opcion ''printSummary'' a false. El ''plugin:goal'' que se ejecuta a la hora de realizar los test es ''surefire:test'', version 2.19.1, visite http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html para más información sobre los nombres de los atributos de su configuración.
+
# Desde la rama 'master':  
# Automatice ciertas tareas con Jenkins:
+
## Renombre la clase App1 de manera que su nuevo nombre sea MisMatematicas.
 +
## Modifique el código de dicha clase para que pueda compilarse: nombre de la clase y parámetro del objeto Logger.
 +
# Una la rama 'next' a la rama 'master'.
 +
# '''ANTES DE CONTINUAR, envíe un fichero zip con la carpeta al email: ''pneira@us.es''. Emplee como asunto ''[EGC][RECU] Apellidos, Nombre''.'''
 +
# Añada un pom.xml de manera que su proyecto Maven tenga la siguiente configuración:
 +
## Haga que su proyecto pertenezca el grupo ''es.egc.exFeb'', su formato de empaquetamiento sea jar, el artifactId sea ''su dni'' y se encuentre en la versión 1.1 de release.
 +
## Incluya las dependencias que considere oportunas teniendo en cuenta que el proyecto contiene clases de test JUnit y utiliza Log4J.
 +
## Haga que, el ''directorio de salida'' del empaquetado cambie en función del sistema operativo, es decir, si se realiza el empaquetado del proyecto con Maven en un sistema Windows, el jar correspondiente esté dentro de la carpeta ''target/Windows/''. En caso de que sea Linux, deberá estar dentro de la carpeta ''target/Linux/''. El ''plugin:goal'' que se ejecuta durante la fase de empaquetado es jar:jar en su version 2.6. Puede mirar documentación adicional aquí: https://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html
 +
# Haga que su proyecto se encuentre en un repositorio GitHub, y automatice ciertas tareas con Jenkins:
 
## Cree en Jenkins una tarea/proyecto de ''estilo libre'' cuyo nombre deberá ser ''su nombre''_''su primer apellido''_''su segundo apellido'', por ejemplo, '''Juan Lopez Torres''' debería llamarlo '''juan_lopez_torres'''.
 
## Cree en Jenkins una tarea/proyecto de ''estilo libre'' cuyo nombre deberá ser ''su nombre''_''su primer apellido''_''su segundo apellido'', por ejemplo, '''Juan Lopez Torres''' debería llamarlo '''juan_lopez_torres'''.
## Con dicha tarea, haga que cada hora se haga lo siguiente:
+
## Cambie el nombre del workspace a ''jobs/su nombre''_''su primer apellido''_''su segundo apellido/ws''
### Utilice Maven para limpiar, compilar y crear un empaquetado del proyecto.
+
## Haga que, cada hora se consulte el repositorio y, si hay cambios, ejecute esta tarea:
### Guarde todos los .jar generados.
+
### Utilice Maven para limpiar y empaquetar el proyecto.
 
### Publique todos los resultados de test JUnit generados.
 
### Publique todos los resultados de test JUnit generados.
## Tan sólo se deberán guardar los artefactos de las últimas 5 ejecuciones. El resto de la información de las ejecuciones no deberá ser borrada nunca.
+
### Guarde los artefactos generados teniendo en cuenta el sistema operativo en el que está trabajado actualmente.
## Haga que existan, al menos, 6 ejecuciones de su tarea/proyecto en su historia.
+
## Haga que exista, al menos, 1 ejecución correcta de su tarea/proyecto.
# Deberá enviar un email a la direccion ''ajramirez@us.es'' con el asunto ''[EGC][EX1] Apellidos, Nombre'' con un zip de la carpeta que incluye su tarea/proyecto. Está bajo la carpeta ''jobs'' dentro de la carpeta de instalación de su Jenkins. Puede encontrarla, por ejemplo en:
+
# Deberá enviar un email a la direccion ''ajramirez@us.es'' con el asunto ''[EGC][RECU] Apellidos, Nombre'' con un zip, con el mismo nombre que el asunto, de la carpeta que incluye su tarea/proyecto. Está bajo la carpeta ''jobs'' dentro de la carpeta de instalación de su Jenkins. Puede encontrarla, por ejemplo en:
 
## Instalación tipica en Windows: C:/Program Files/Jenkins/jobs
 
## Instalación tipica en Windows: C:/Program Files/Jenkins/jobs
 +
## Instalación tipica en Linux: /var/lib/jenkis/jobs
 
## Si ha desplegado el .war: $HOME/.jenkins/jobs
 
## Si ha desplegado el .war: $HOME/.jenkins/jobs
 
## Si está usando Openshift: $HOME/app_root/data/jobs
 
## Si está usando Openshift: $HOME/app_root/data/jobs
 +
'''IMPORTANTE: verifique los archivos ''config.xml'' de su job y ''pom.xml'' de su workspace están incluidos en el zip'''

Revisión actual del 16:04 5 feb 2016

Ejercicio de EGC

  1. Cree un repositorio git a partir del contenido del fichero .zip que se le ofrece en link
  2. La clase App1 dispone del método divide() que contiene un error de programación pues devuelve la multiplicación en lugar de la división. Corrija el problema y aplique el cambio al repositorio en la rama 'master'.
  3. En una rama denominada 'next', mueva el método multiplica de la clase App2 a la clase App1 y elimine la clase App2.
  4. Desde la rama 'master':
    1. Renombre la clase App1 de manera que su nuevo nombre sea MisMatematicas.
    2. Modifique el código de dicha clase para que pueda compilarse: nombre de la clase y parámetro del objeto Logger.
  5. Una la rama 'next' a la rama 'master'.
  6. ANTES DE CONTINUAR, envíe un fichero zip con la carpeta al email: pneira@us.es. Emplee como asunto [EGC][RECU] Apellidos, Nombre.
  7. Añada un pom.xml de manera que su proyecto Maven tenga la siguiente configuración:
    1. Haga que su proyecto pertenezca el grupo es.egc.exFeb, su formato de empaquetamiento sea jar, el artifactId sea su dni y se encuentre en la versión 1.1 de release.
    2. Incluya las dependencias que considere oportunas teniendo en cuenta que el proyecto contiene clases de test JUnit y utiliza Log4J.
    3. Haga que, el directorio de salida del empaquetado cambie en función del sistema operativo, es decir, si se realiza el empaquetado del proyecto con Maven en un sistema Windows, el jar correspondiente esté dentro de la carpeta target/Windows/. En caso de que sea Linux, deberá estar dentro de la carpeta target/Linux/. El plugin:goal que se ejecuta durante la fase de empaquetado es jar:jar en su version 2.6. Puede mirar documentación adicional aquí: https://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html
  8. Haga que su proyecto se encuentre en un repositorio GitHub, y automatice ciertas tareas con Jenkins:
    1. Cree en Jenkins una tarea/proyecto de estilo libre cuyo nombre deberá ser su nombre_su primer apellido_su segundo apellido, por ejemplo, Juan Lopez Torres debería llamarlo juan_lopez_torres.
    2. Cambie el nombre del workspace a jobs/su nombre_su primer apellido_su segundo apellido/ws
    3. Haga que, cada hora se consulte el repositorio y, si hay cambios, ejecute esta tarea:
      1. Utilice Maven para limpiar y empaquetar el proyecto.
      2. Publique todos los resultados de test JUnit generados.
      3. Guarde los artefactos generados teniendo en cuenta el sistema operativo en el que está trabajado actualmente.
    4. Haga que exista, al menos, 1 ejecución correcta de su tarea/proyecto.
  9. Deberá enviar un email a la direccion ajramirez@us.es con el asunto [EGC][RECU] Apellidos, Nombre con un zip, con el mismo nombre que el asunto, de la carpeta que incluye su tarea/proyecto. Está bajo la carpeta jobs dentro de la carpeta de instalación de su Jenkins. Puede encontrarla, por ejemplo en:
    1. Instalación tipica en Windows: C:/Program Files/Jenkins/jobs
    2. Instalación tipica en Linux: /var/lib/jenkis/jobs
    3. Si ha desplegado el .war: $HOME/.jenkins/jobs
    4. Si está usando Openshift: $HOME/app_root/data/jobs

IMPORTANTE: verifique los archivos config.xml de su job y pom.xml de su workspace están incluidos en el zip