<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://1984.lsi.us.es/wiki-egc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alemurrod</id>
		<title>Wiki de EGC - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://1984.lsi.us.es/wiki-egc/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alemurrod"/>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php/Especial:Contribuciones/Alemurrod"/>
		<updated>2026-04-13T23:39:01Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.29.0</generator>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Integraci%C3%B3n_de_Travis_con_GitHub.&amp;diff=5724</id>
		<title>Caso práctico: Integración de Travis con GitHub.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Integraci%C3%B3n_de_Travis_con_GitHub.&amp;diff=5724"/>
				<updated>2017-01-11T22:44:50Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende conectar Travis a nuestra cuenta de GitHub para que construya el proyecto y pase las pruebas de este.&lt;br /&gt;
&lt;br /&gt;
== Solución==&lt;br /&gt;
'''''1. Conectar Travis con GitHub'''''&lt;br /&gt;
:Lo primero que se debe hacer es acceder a la pagina de Travis https://travis-ci.org/, una vez en la pagina hay que pulsar en el boton de la esquina superior izquierda donde dice registrarse con GitHub, donde se nos pedirá nuestros credenciales de GitHub. A continuación GitHub nos pedirá autorizar a Travis para acceder a nuestra cuenta, una vez autorizado debemos esperar un tiempo para que Travis busque nuestros repositorios de GitHub.&lt;br /&gt;
'''''2. Configurar Travis'''''&lt;br /&gt;
:[[Archivo:Intrucciones travis.PNG||400px]]&lt;br /&gt;
:Una vez accedido deben seguirse las instrucciones que ofrece Travis que podemos ver en la imagen, en nuestro caso añadimos el repositorio del proyecto y añadimos en la raiz del proyecto el fichero de configuración de Travis .travis.yml con el siguiente código: &lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
   language:&lt;br /&gt;
       - java&lt;br /&gt;
   services:&lt;br /&gt;
       - mysql&lt;br /&gt;
   jdk:&lt;br /&gt;
       - oraclejdk8&lt;br /&gt;
       - openjdk7&lt;br /&gt;
   before_install:&lt;br /&gt;
       - mysql -u root &amp;lt; bbdd_Travis.sql&lt;br /&gt;
   script:&lt;br /&gt;
       - mvn clean test &lt;br /&gt;
   cache:&lt;br /&gt;
       directories:&lt;br /&gt;
           - $HOME/.m2&lt;br /&gt;
   dist:&lt;br /&gt;
       - trusty&lt;br /&gt;
   sudo:&lt;br /&gt;
       - false&lt;br /&gt;
   notifications:&lt;br /&gt;
       - email: false&lt;br /&gt;
:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Con este fichero estámos indicando que:&lt;br /&gt;
:* Se trata de un proyecto java&lt;br /&gt;
:* Se usa una base de datos de MySQL&lt;br /&gt;
:* Debe funcionar tanto en java 7 como en java 8&lt;br /&gt;
:* Antes de comenzar el script cargar el fichero de la base de datos bbdd_Tavis.sql que crea la base de datos y usuarios.&lt;br /&gt;
:* Los comandos de maven a ejecutar son clean y test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:'''Fichero bbdd.Travis.sql''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   start transaction;&lt;br /&gt;
   DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
   CREATE DATABASE `egc-frontend`; &lt;br /&gt;
   USE `egc-frontend`;&lt;br /&gt;
   GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
   COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''''3. Observar funcionamiento de Travis'''''&lt;br /&gt;
:A partir de este punto Travis ejecutará las pruebas cada vez que se haga un commit del proyecto en GitHub mostrando en el commit de GitHub un indicador de si las prueba se han pasado correctamente o ha surgido algún problema.&lt;br /&gt;
:Si accedemos de nuevo a la página en el instante en el que se haya ejecutado un push en GitHub, podremos observar que Travis está realizando lo indicado e el archivo de configuración (téngase en cuenta que Travis está trabajando en una maquina externa y el tiempo de respuesta puede ser alto).&lt;br /&gt;
:[[Archivo:Travis trabajando.PNG||750px]]&lt;br /&gt;
&lt;br /&gt;
:Una vez acabado el proceso aparecerá todo en verde si no ha surgido algún problema durante la ejecución y la consola mostrará el siguiente mensaje&lt;br /&gt;
:[[Archivo:Travis finalizado.PNG||500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:arrow_left_16x16.png]] Volver a la página del grupo: [https://1984.lsi.us.es/wiki-egc/index.php/Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28 Visualización y Gestión de Resultados (G28)]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Integraci%C3%B3n_de_Travis_con_GitHub.&amp;diff=5723</id>
		<title>Caso práctico: Integración de Travis con GitHub.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Integraci%C3%B3n_de_Travis_con_GitHub.&amp;diff=5723"/>
				<updated>2017-01-11T22:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende conectar Travis a nuestra cuenta de GitHub para que construya el proyecto y pase las pruebas de este.&lt;br /&gt;
&lt;br /&gt;
== Solución==&lt;br /&gt;
'''''1. Conectar Travis con GitHub'''''&lt;br /&gt;
:Lo primero que se debe hacer es acceder a la pagina de Travis https://travis-ci.org/, una vez en la pagina hay que pulsar en el boton de la esquina superior izquierda donde dice registrarse con GitHub, donde se nos pedirá nuestros credenciales de GitHub. A continuación GitHub nos pedirá autorizar a Travis para acceder a nuestra cuenta, una vez autorizado debemos esperar un tiempo para que Travis busque nuestros repositorios de GitHub.&lt;br /&gt;
'''''2. Configurar Travis'''''&lt;br /&gt;
:[[Archivo:Intrucciones travis.PNG||400px]]&lt;br /&gt;
:Una vez accedido deben seguirse las instrucciones que ofrece Travis que podemos ver en la imagen, en nuestro caso añadimos el repositorio del proyecto y añadimos en la raiz del proyecto el fichero de configuración de Travis .travis.yml con el siguiente código: &lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
   language:&lt;br /&gt;
       - java&lt;br /&gt;
   services:&lt;br /&gt;
       - mysql&lt;br /&gt;
   jdk:&lt;br /&gt;
       - oraclejdk8&lt;br /&gt;
       - openjdk7&lt;br /&gt;
   before_install:&lt;br /&gt;
       - mysql -u root &amp;lt; bbdd_Travis.sql&lt;br /&gt;
   script:&lt;br /&gt;
       - mvn clean test &lt;br /&gt;
   cache:&lt;br /&gt;
       directories:&lt;br /&gt;
           - $HOME/.m2&lt;br /&gt;
   dist:&lt;br /&gt;
       - trusty&lt;br /&gt;
   sudo:&lt;br /&gt;
       - false&lt;br /&gt;
   notifications:&lt;br /&gt;
       - email: false&lt;br /&gt;
:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Con este fichero estámos indicando que:&lt;br /&gt;
:* Se trata de un proyecto java&lt;br /&gt;
:* Se usa una base de datos de MySQL&lt;br /&gt;
:* Debe funcionar tanto en java 7 como en java 8&lt;br /&gt;
:* Antes de comenzar el script cargar el fichero de la base de datos bbdd_Tavis.sql que crea la base de datos y usuarios.&lt;br /&gt;
:* Los comandos de maven a ejecutar son clean y test&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:'''Fichero bbdd.Travis.sql''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   start transaction;&lt;br /&gt;
   DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
   CREATE DATABASE `egc-frontend`; &lt;br /&gt;
   USE `egc-frontend`;&lt;br /&gt;
   GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
   COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''''3. Observar funcionamiento de Travis'''''&lt;br /&gt;
:A partir de este punto Travis ejecutará las pruebas cada vez que se haga un commit del proyecto en GitHub mostrando en el commit de GitHub un indicador de si las prueba se han pasado correctamente o ha surgido algún problema.&lt;br /&gt;
:Si accedemos de nuevo a la página en el instante en el que se haya ejecutado un push en GitHub, podremos observar que Travis está realizando lo indicado e el archivo de configuración (téngase en cuenta que Travis está trabajando en una maquina externa y el tiempo de respuesta puede ser alto).&lt;br /&gt;
:[[Archivo:Travis trabajando.PNG||750px]]&lt;br /&gt;
&lt;br /&gt;
:Una vez acabado el proceso aparecerá todo en verde si no ha surgido algún problema durante la ejecución y la consola mostrará el siguiente mensaje&lt;br /&gt;
:[[Archivo:Travis finalizado.PNG||500px]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Integraci%C3%B3n_de_Travis_con_GitHub.&amp;diff=5722</id>
		<title>Caso práctico: Integración de Travis con GitHub.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Integraci%C3%B3n_de_Travis_con_GitHub.&amp;diff=5722"/>
				<updated>2017-01-11T22:43:16Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende conectar Travis a nuestra cuenta de GitHub para que construya el proyecto y pase las pruebas de este.&lt;br /&gt;
&lt;br /&gt;
== Solución==&lt;br /&gt;
'''''1. Conectar Travis con GitHub'''''&lt;br /&gt;
:Lo primero que se debe hacer es acceder a la pagina de Travis https://travis-ci.org/, una vez en la pagina hay que pulsar en el boton de la esquina superior izquierda donde dice registrarse con GitHub, donde se nos pedirá nuestros credenciales de GitHub. A continuación GitHub nos pedirá autorizar a Travis para acceder a nuestra cuenta, una vez autorizado debemos esperar un tiempo para que Travis busque nuestros repositorios de GitHub.&lt;br /&gt;
'''''2. Configurar Travis'''''&lt;br /&gt;
:[[Archivo:Intrucciones travis.PNG||400px]]&lt;br /&gt;
:Una vez accedido deben seguirse las instrucciones que ofrece Travis que podemos ver en la imagen, en nuestro caso añadimos el repositorio del proyecto y añadimos en la raiz del proyecto el fichero de configuración de Travis .travis.yml con el siguiente código: &lt;br /&gt;
:&amp;lt;code&amp;gt;&lt;br /&gt;
   language:&lt;br /&gt;
       - java&lt;br /&gt;
   services:&lt;br /&gt;
       - mysql&lt;br /&gt;
   jdk:&lt;br /&gt;
       - oraclejdk8&lt;br /&gt;
       - openjdk7&lt;br /&gt;
   before_install:&lt;br /&gt;
       - mysql -u root &amp;lt; bbdd_Travis.sql&lt;br /&gt;
   script:&lt;br /&gt;
       - mvn clean test &lt;br /&gt;
   cache:&lt;br /&gt;
       directories:&lt;br /&gt;
           - $HOME/.m2&lt;br /&gt;
   dist:&lt;br /&gt;
       - trusty&lt;br /&gt;
   sudo:&lt;br /&gt;
       - false&lt;br /&gt;
   notifications:&lt;br /&gt;
       - email: false&lt;br /&gt;
:&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Con este fichero estámos indicando que:&lt;br /&gt;
:* Se trata de un proyecto java&lt;br /&gt;
:* Se usa una base de datos de MySQL&lt;br /&gt;
:* Debe funcionar tanto en java 7 como en java 8&lt;br /&gt;
:* Antes de comenzar el script cargar el fichero de la base de datos bbdd_Tavis.sql que crea la base de datos y usuarios.&lt;br /&gt;
:* Los comandos de maven a ejecutar son clean y test&lt;br /&gt;
&lt;br /&gt;
'''Fichero bbdd.Travis.sql''':&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   start transaction;&lt;br /&gt;
   DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
   CREATE DATABASE `egc-frontend`; &lt;br /&gt;
   USE `egc-frontend`;&lt;br /&gt;
   GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
   COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
'''''3. Observar funcionamiento de Travis'''''&lt;br /&gt;
:A partir de este punto Travis ejecutará las pruebas cada vez que se haga un commit del proyecto en GitHub mostrando en el commit de GitHub un indicador de si las prueba se han pasado correctamente o ha surgido algún problema.&lt;br /&gt;
:Si accedemos de nuevo a la página en el instante en el que se haya ejecutado un push en GitHub, podremos observar que Travis está realizando lo indicado e el archivo de configuración (téngase en cuenta que Travis está trabajando en una maquina externa y el tiempo de respuesta puede ser alto).&lt;br /&gt;
:[[Archivo:Travis trabajando.PNG||750px]]&lt;br /&gt;
&lt;br /&gt;
:Una vez acabado el proceso aparecerá todo en verde si no ha surgido algún problema durante la ejecución y la consola mostrará el siguiente mensaje&lt;br /&gt;
:[[Archivo:Travis finalizado.PNG||500px]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Hoja_de_tiempos_-_Visualizaci%C3%B3n_y_gesti%C3%B3n_de_resultados_-_2016-2017&amp;diff=5716</id>
		<title>Hoja de tiempos - Visualización y gestión de resultados - 2016-2017</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Hoja_de_tiempos_-_Visualizaci%C3%B3n_y_gesti%C3%B3n_de_resultados_-_2016-2017&amp;diff=5716"/>
				<updated>2017-01-11T22:27:10Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta es la hoja de tiempos del grupo [[Visualización y Gestión de Resultados G28]]. En ella se muestran los tiempos dedicados por cada uno de los miembros del equipo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dedicación de los miembros del grupo ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse;text-align:center&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Miembro del grupo&lt;br /&gt;
! Grado de implicación (1-5)&lt;br /&gt;
|-&lt;br /&gt;
| [[Usuario:juacascor|Juan Antonio Castañeda Cortázar]]&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Usuario:alemurrod|Alejandro Murillo Rodríguez]]&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Usuario:abdche|Abdelkader Chellik]]&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| [[Usuario:zaksah2|Zakaria Sahmoudi]]&lt;br /&gt;
| 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tabla de tiempos ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border-collapse:collapse&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  Fecha&lt;br /&gt;
! Tiempo (m)&lt;br /&gt;
! Miembro(s) del grupo&lt;br /&gt;
! Actividad&lt;br /&gt;
! Comentarios&lt;br /&gt;
|-&lt;br /&gt;
| 11/11/16&lt;br /&gt;
| 50&lt;br /&gt;
| Todos&lt;br /&gt;
| Reunión inicial&lt;br /&gt;
|&lt;br /&gt;
* Presentación de los distintos miembros del grupo&lt;br /&gt;
* Elección del subsistema a desarrollar por el grupo.&lt;br /&gt;
* Definir el sistema de comunicación dentro del grupo.&lt;br /&gt;
* Elección de coordinadores.&lt;br /&gt;
* Definir la periodicidad con la que los miembros se reunirán.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 04/01/17&lt;br /&gt;
| 360&lt;br /&gt;
| Alejandro Murillo Rodríguez, Abdelkader Chellik&lt;br /&gt;
| Investigación e implementación &lt;br /&gt;
|&lt;br /&gt;
* Preparación de máquina virtual para instalar Jenkins y los entornos para beta y stable.&lt;br /&gt;
* Configuración de base de datos y preparación del script.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05/01/17&lt;br /&gt;
| 120&lt;br /&gt;
| Alejandro Murillo Rodríguez, Abdelkader Chellik&lt;br /&gt;
| Implementación &lt;br /&gt;
|&lt;br /&gt;
* Configurar tarea beta de Jenkins.&lt;br /&gt;
* Replicar tarea beta para stable.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 11/01/17&lt;br /&gt;
| 60&lt;br /&gt;
| Alejandro Murillo Rodríguez&lt;br /&gt;
| Documentación&lt;br /&gt;
|&lt;br /&gt;
* Caso práctico de Jenkins.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 13/11/16&lt;br /&gt;
| 360&lt;br /&gt;
| Alejandro Murillo Rodríguez&lt;br /&gt;
| Realización de mejora del código. &lt;br /&gt;
|&lt;br /&gt;
* Acordeón en página de resultados.&lt;br /&gt;
|-&lt;br /&gt;
| 21/11/16&lt;br /&gt;
| 120&lt;br /&gt;
| Todos&lt;br /&gt;
| Diseño de la interfaz. &lt;br /&gt;
|&lt;br /&gt;
* Despliegue de manera aislada del subsistema.&lt;br /&gt;
* Definir la herramienta de gestión del código del proyecto a usar.&lt;br /&gt;
* Comunicación con los coordinadores de los demás subsistemas para informarnos sobre el canal de comunicación existente.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 13/11/16&lt;br /&gt;
| 360&lt;br /&gt;
| Alejandro Murillo Rodríguez&lt;br /&gt;
| Realización de mejora del código. &lt;br /&gt;
|&lt;br /&gt;
* Acordeón en página de resultados.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 15/11/16&lt;br /&gt;
| 90&lt;br /&gt;
| Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Realización de mejora del código. &lt;br /&gt;
|&lt;br /&gt;
* Cambio en estilo de pagina de encuesta.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 21/11/16&lt;br /&gt;
| 120&lt;br /&gt;
| Todos&lt;br /&gt;
| Diseño de la interfaz. &lt;br /&gt;
|&lt;br /&gt;
* Despliegue de manera aislada del subsistema.&lt;br /&gt;
* Definir la herramienta de gestión del código del proyecto a usar.&lt;br /&gt;
* Comunicación con los coordinadores de los demás subsistemas para informarnos sobre el canal de comunicación existente.&lt;br /&gt;
|-&lt;br /&gt;
| 29/11/16&lt;br /&gt;
| 30&lt;br /&gt;
| Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Realización de mejora del código. &lt;br /&gt;
|&lt;br /&gt;
* Cambio en estilo de pagina de encuesta.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 11/12/16&lt;br /&gt;
| 90&lt;br /&gt;
| Abdelkader Chellik&lt;br /&gt;
| Documentacion Googledrive&lt;br /&gt;
|&lt;br /&gt;
* Documento del proyecto&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 27/12/16&lt;br /&gt;
| 240&lt;br /&gt;
| Abdelkader Chellik&lt;br /&gt;
| Accordion estadisticas&lt;br /&gt;
|&lt;br /&gt;
* Poner el Accordion para el boton &amp;quot;ver graficas&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 29/12/16&lt;br /&gt;
| 60&lt;br /&gt;
| Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Arreglo de issue &lt;br /&gt;
|&lt;br /&gt;
* Fix de la issue #1 Todas las paginas salen en blanco&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06/01/17&lt;br /&gt;
| 120&lt;br /&gt;
| Juan Antonio Castañeda Cortázar, Alejandro Murillo Rodríguez&lt;br /&gt;
| Configuración travis&lt;br /&gt;
|&lt;br /&gt;
* Conectar travis con el repositorio&lt;br /&gt;
* Crear fichero de configuración&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06/01/17&lt;br /&gt;
| 120&lt;br /&gt;
| Alejandro Murillo Rodríguez, Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Arreglo de issue &lt;br /&gt;
|&lt;br /&gt;
* Fix de la issue #3 Implementación de footer no optima&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 06/01/17&lt;br /&gt;
| 120&lt;br /&gt;
| Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Arreglos en la pagina de encuestas&lt;br /&gt;
|&lt;br /&gt;
* Cambio estilo en encuestas &lt;br /&gt;
* Arreglo de botón de main de la pagina principal&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 05/01/17&lt;br /&gt;
| 75&lt;br /&gt;
| Alejandro Murillo Rodríguez&lt;br /&gt;
| Arreglo de issue &lt;br /&gt;
|&lt;br /&gt;
* Añadido script para popular, cambiado favicon, y tag base dinámica.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07/01/17&lt;br /&gt;
| 300&lt;br /&gt;
| Alejandro Murillo Rodríguez, Abdelkader Chellik&lt;br /&gt;
| Mejora visual parte de estadísticas&lt;br /&gt;
|&lt;br /&gt;
* Mejora visual de la parte de estádisticas.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 07/01/17&lt;br /&gt;
| 90&lt;br /&gt;
| Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Cambio de estilo en la visualización del mapa&lt;br /&gt;
|&lt;br /&gt;
* Aumentar tamaño de mapa&lt;br /&gt;
* Añadida cabecera con icono&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 08/01/17&lt;br /&gt;
| 90&lt;br /&gt;
| Alejandro Murillo Rodríguez&lt;br /&gt;
| Programación&lt;br /&gt;
|&lt;br /&gt;
* Limpieza del código y arreglo de la issue #5&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 09/01/17&lt;br /&gt;
| 120&lt;br /&gt;
| Alejandro Murillo Rodríguez, Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Programación&lt;br /&gt;
|&lt;br /&gt;
* Fix: tests jUnit&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 21/11/16&lt;br /&gt;
| 120&lt;br /&gt;
| Todos&lt;br /&gt;
| Diseño de la interfaz. &lt;br /&gt;
|&lt;br /&gt;
* Despliegue de manera aislada del subsistema.&lt;br /&gt;
* Definir la herramienta de gestión del código del proyecto a usar.&lt;br /&gt;
* Comunicación con los coordinadores de los demás subsistemas para informarnos sobre el canal de comunicación existente.&lt;br /&gt;
|-&lt;br /&gt;
| 06/12/16&lt;br /&gt;
|90&lt;br /&gt;
| Zakaria Sahmoudi&lt;br /&gt;
| Programación.   &lt;br /&gt;
|&lt;br /&gt;
* cambiar estilo.&lt;br /&gt;
* Meter el botón de ver estadística.&lt;br /&gt;
|-&lt;br /&gt;
| 06/12/16&lt;br /&gt;
| 120&lt;br /&gt;
| Todos&lt;br /&gt;
| Reunión&lt;br /&gt;
|&lt;br /&gt;
* Creación del repositorio en GitHub.&lt;br /&gt;
* Definición de un proceso para la gestión del código.&lt;br /&gt;
* Elección de la herramienta a usar para la gestión de incidencias del proyecto.&lt;br /&gt;
* Elección de mejoras en el código.&lt;br /&gt;
|-&lt;br /&gt;
| 08/12/16&lt;br /&gt;
|120&lt;br /&gt;
| Zakaria Sahmoudi&lt;br /&gt;
| Programación.   &lt;br /&gt;
|&lt;br /&gt;
* cambiar estilo.&lt;br /&gt;
* Arreglar pie de las páginas.&lt;br /&gt;
|-&lt;br /&gt;
| 11/12/16&lt;br /&gt;
|120&lt;br /&gt;
| Zakaria Sahmoudi&lt;br /&gt;
| Programación.   &lt;br /&gt;
|&lt;br /&gt;
* cambiar estilo.&lt;br /&gt;
*cambiar colores de la pagina principal y botones.&lt;br /&gt;
|-&lt;br /&gt;
| 12/12/16&lt;br /&gt;
| 120&lt;br /&gt;
| Todos&lt;br /&gt;
| Reunión  &lt;br /&gt;
|&lt;br /&gt;
* Trabajo en las mejoras.&lt;br /&gt;
* Puesta en común de las mejoras realizadas.&lt;br /&gt;
* Actualización la rama development en github.&lt;br /&gt;
* Creación de las ramas locales para nuevas mejores.&lt;br /&gt;
* Acordar reunión con grupo de cabina para realizar preparativos para la integración.&lt;br /&gt;
|-&lt;br /&gt;
| 27/12/16&lt;br /&gt;
|60&lt;br /&gt;
| Todos&lt;br /&gt;
| Reunión  &lt;br /&gt;
|&lt;br /&gt;
* Elección de herramienta de integración continua.&lt;br /&gt;
* Reparto de documentación.&lt;br /&gt;
|-&lt;br /&gt;
| 05/01/17&lt;br /&gt;
|150&lt;br /&gt;
| Zakaria Sahmoudi&lt;br /&gt;
| Documentación Hoja de tiempo.  &lt;br /&gt;
|&lt;br /&gt;
* Hoja de tiempo con todos los reuniones que han hecho el grupo.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 10/01/17&lt;br /&gt;
| 90&lt;br /&gt;
| Juan Antonio Castañeda Cortázar&lt;br /&gt;
| Documentación wiki&lt;br /&gt;
|&lt;br /&gt;
* Integración continua Travis&lt;br /&gt;
|-&lt;br /&gt;
| 10/01/17&lt;br /&gt;
|40&lt;br /&gt;
| Zakaria Sahmoudi, Abdelkader Chellik&lt;br /&gt;
| Documentación wiki.  &lt;br /&gt;
|&lt;br /&gt;
* gestión de comunicación.&lt;br /&gt;
* gestión de las tareas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5714</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5714"/>
				<updated>2017-01-11T22:22:08Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama '''develop''' actualmente, ejecute las acciones '''clean'''(borrar carpeta /target) '''compile'''(compilar) y '''war:war'''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:1 1 G28.png||350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[[Archivo:1 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[[Archivo:21 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[[Archivo:22 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[[Archivo:23 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[[Archivo:23 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[[Archivo:23 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.5. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:25 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:arrow_left_16x16.png]] Volver a página del grupo: [https://1984.lsi.us.es/wiki-egc/index.php/Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28 Visualización y Gestión de Resultados (G28)]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5713</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5713"/>
				<updated>2017-01-11T22:21:57Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama '''develop''' actualmente, ejecute las acciones '''clean'''(borrar carpeta /target) '''compile'''(compilar) y '''war:war'''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:1 1 G28.png||350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[[Archivo:1 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[[Archivo:21 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[[Archivo:22 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[[Archivo:23 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[[Archivo:23 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[[Archivo:23 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.5. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:25 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:arrow_left_16x16.png]] Volver a página del grupo: [https://1984.lsi.us.es/wiki-egc/index.php/Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28 Visualización y Gestión de Resultados (G28)]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5711</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5711"/>
				<updated>2017-01-11T22:20:40Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama '''develop''' actualmente, ejecute las acciones '''clean'''(borrar carpeta /target) '''compile'''(compilar) y '''war:war'''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:1 1 G28.png||350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[[Archivo:1 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[[Archivo:21 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[[Archivo:22 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[[Archivo:23 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[[Archivo:23 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[[Archivo:23 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.5. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:25 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5710</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5710"/>
				<updated>2017-01-11T22:19:52Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: /* Solución */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:1 1 G28.png||350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[[Archivo:1 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[[Archivo:21 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[[Archivo:22 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[[Archivo:23 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[[Archivo:23 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[[Archivo:23 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.5. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:25 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:25_1_G28.png&amp;diff=5709</id>
		<title>Archivo:25 1 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:25_1_G28.png&amp;diff=5709"/>
				<updated>2017-01-11T22:19:25Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:24_3_G28.png&amp;diff=5708</id>
		<title>Archivo:24 3 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:24_3_G28.png&amp;diff=5708"/>
				<updated>2017-01-11T22:19:11Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:24_2_G28.png&amp;diff=5707</id>
		<title>Archivo:24 2 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:24_2_G28.png&amp;diff=5707"/>
				<updated>2017-01-11T22:18:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:24_1_G28.png&amp;diff=5706</id>
		<title>Archivo:24 1 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:24_1_G28.png&amp;diff=5706"/>
				<updated>2017-01-11T22:18:46Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:23_3_G28.png&amp;diff=5705</id>
		<title>Archivo:23 3 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:23_3_G28.png&amp;diff=5705"/>
				<updated>2017-01-11T22:18:28Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:23_2_G28.png&amp;diff=5704</id>
		<title>Archivo:23 2 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:23_2_G28.png&amp;diff=5704"/>
				<updated>2017-01-11T22:17:33Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:23_1_G28.png&amp;diff=5703</id>
		<title>Archivo:23 1 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:23_1_G28.png&amp;diff=5703"/>
				<updated>2017-01-11T22:17:18Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:22_1_G28.png&amp;diff=5702</id>
		<title>Archivo:22 1 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:22_1_G28.png&amp;diff=5702"/>
				<updated>2017-01-11T22:17:07Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:21_1_G28.png&amp;diff=5701</id>
		<title>Archivo:21 1 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:21_1_G28.png&amp;diff=5701"/>
				<updated>2017-01-11T22:16:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:1_2_G28.png&amp;diff=5700</id>
		<title>Archivo:1 2 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:1_2_G28.png&amp;diff=5700"/>
				<updated>2017-01-11T22:16:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:1_1_G28.png&amp;diff=5699</id>
		<title>Archivo:1 1 G28.png</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Archivo:1_1_G28.png&amp;diff=5699"/>
				<updated>2017-01-11T22:16:31Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5697</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5697"/>
				<updated>2017-01-11T22:15:55Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:1 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[[Archivo:1 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[[Archivo:21 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[[Archivo:22 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[[Archivo:23 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[[Archivo:23 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[[Archivo:23 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 2 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:24 3 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.5. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[[Archivo:25 1 G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5694</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5694"/>
				<updated>2017-01-11T22:04:22Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png||750px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5693</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5693"/>
				<updated>2017-01-11T22:04:13Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png||500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5692</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5692"/>
				<updated>2017-01-11T22:03:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png||300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5691</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5691"/>
				<updated>2017-01-11T22:03:30Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5690</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5690"/>
				<updated>2017-01-11T22:03:22Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5689</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5689"/>
				<updated>2017-01-11T22:01:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5688</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5688"/>
				<updated>2017-01-11T22:01:36Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5687</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5687"/>
				<updated>2017-01-11T22:00:40Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5686</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5686"/>
				<updated>2017-01-11T22:00:01Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''. Este tipo de acción nos viene dada de un plugin que hemos instalado llamado '''Deploy to container Plugin'''.&lt;br /&gt;
&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, en nuestro Tomcat tendremos que tener creado un usuario con el rol '''manager-script''' el cual le indicaremos el usuario y la contraseña para que Jenkins pueda desplegar el war.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*NOTA: la tarea para la automatización de nuestro entorno '''stable''' sería replicando lo mismo quitando la parte de '''Disparadores de ejecuciones''', ya que la tarea stable la ejecutaremos manualmente por temas de estabilidad.&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5684</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5684"/>
				<updated>2017-01-11T21:54:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como Docker que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta. Este war generado se guardará dentro de la carpeta ''/target'', lo que posteriormente nos servirá para señalárselo a Jenkins.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;br /&gt;
&lt;br /&gt;
::Por último lo que queremos es que automáticamente nos despliegue nuestro Tomcat, para ello necesitaremos definir una acción de tipo '''Deploy war/ear to a container'''&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5683</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5683"/>
				<updated>2017-01-11T21:49:40Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.3. Ejecutar''&lt;br /&gt;
&lt;br /&gt;
::En nuestro caso, no usamos herramientas como '''Docker''' que nos permitirían tener en un contenedor propio cada entorno de ejecución en una misma máquina, con lo que haciendo uso de la externalización de la configuración con '''Spring''' vamos a poder tener una base de datos distinta para nuestras versiones beta y stable en el mismo MySQL.&lt;br /&gt;
&lt;br /&gt;
::También nos hacía falta automatizar primero la eliminación y seguidamente de nuevo la creación de la base de datos, usuarios, permisos y populación de la misma para cada vez que se ejecute nuestra tarea, ya que podría ser que hubieran habido cambios en nuestra base de datos y necesitamos hacer esto. Para estas tareas, nos ayudamos con un script en bash, por eso lo que necesitaremos definir será una acción de tipo '''Ejecutar linea de comandos (shell)'''.&lt;br /&gt;
&lt;br /&gt;
::[imágenes aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último, definiremos en este apartado otra acción más, la cual será '''Ejecutar tareas 'maven' de nivel superior''', en la que le diremos a Maven que por favor compile y genere el war de nuestro proyecto para posteriormente poder desplegarlo en nuestro entorno beta.&lt;br /&gt;
&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.4. Acciones para ejecutar después''&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5681</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5681"/>
				<updated>2017-01-11T21:34:59Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/''' y listo.&lt;br /&gt;
::[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5680</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5680"/>
				<updated>2017-01-11T21:33:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la '''develop''', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;br /&gt;
&lt;br /&gt;
::Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.&lt;br /&gt;
::Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado '''Settings'''&lt;br /&gt;
::Seguidamente, en el menú de la izquierda haremos clic en '''Integrations and services''' y haremos clic en '''Add service'''. Se nos abrirá un deplegable en el que buscaremos '''Jenkins (Git plugin)''' y haremos clic sobre él.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
::Por último colocaremos la URL de nuestro Jenkins terminada en '''/github-webhook/'''&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5679</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5679"/>
				<updated>2017-01-11T21:24:12Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:''2.1. Configuración general''&lt;br /&gt;
&lt;br /&gt;
::Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Configurar el origen del código fuente''&lt;br /&gt;
&lt;br /&gt;
::Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
::[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:''2.2. Disparadores de ejecuciones''&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5678</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5678"/>
				<updated>2017-01-11T21:21:37Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. :Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
:[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5677</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5677"/>
				<updated>2017-01-11T21:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
:[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. :Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
:Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5676</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5676"/>
				<updated>2017-01-11T21:20:57Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
:Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
:Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
:Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. &amp;gt;Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5675</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5675"/>
				<updated>2017-01-11T21:20:17Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt; Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. &amp;gt;Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5674</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5674"/>
				<updated>2017-01-11T21:20:10Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. &amp;gt;Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5673</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5673"/>
				<updated>2017-01-11T21:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. &amp;gt;Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
&amp;gt;Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5672</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5672"/>
				<updated>2017-01-11T21:19:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''2. Configuración de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5671</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5671"/>
				<updated>2017-01-11T21:19:31Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
'''''1. Creación de la tarea'''''&lt;br /&gt;
&lt;br /&gt;
Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''2. Configuración de la tarea''&lt;br /&gt;
&lt;br /&gt;
Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5670</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5670"/>
				<updated>2017-01-11T21:19:20Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
''1. Creación de la tarea''&lt;br /&gt;
&lt;br /&gt;
Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''2. Configuración de la tarea''&lt;br /&gt;
&lt;br /&gt;
Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5669</id>
		<title>Caso práctico: Configuración de la fase beta.</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Caso_pr%C3%A1ctico:_Configuraci%C3%B3n_de_la_fase_beta.&amp;diff=5669"/>
				<updated>2017-01-11T21:18:56Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: Página creada con «== Enunciado ==  Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la ram...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunciado ==&lt;br /&gt;
&lt;br /&gt;
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama ''develop'' actualmente, ejecute las acciones ''clean''(borrar carpeta /target) ''compile''(compilar) y ''war:war''(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.&lt;br /&gt;
&lt;br /&gt;
== Solución ==&lt;br /&gt;
&lt;br /&gt;
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:&lt;br /&gt;
&lt;br /&gt;
1. Creación de la tarea&lt;br /&gt;
&lt;br /&gt;
Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice &amp;quot;Nueva tarea&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos &amp;quot;Agora US - Visualización G28 - Beta&amp;quot;.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Una vez hayamos rellenado el nombre que queramos haremos clic en &amp;quot;Ok&amp;quot; más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Configuración de la tarea&lt;br /&gt;
&lt;br /&gt;
Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.&lt;br /&gt;
[imagen aquí]&lt;br /&gt;
&lt;br /&gt;
Seguidamente, en el apartado &amp;quot;Configurar el origen del código fuente&amp;quot; es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la ''develop'', ya que estamos creando la tarea para automatizar una versión beta.&lt;br /&gt;
[imagen aquí]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5604</id>
		<title>Visualización y Gestión de Resultados G28</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5604"/>
				<updated>2017-01-10T22:12:19Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros del equipo ==&lt;br /&gt;
&lt;br /&gt;
*[[Usuario:juacascor|Juan Antonio Castañeda Cortázar]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:alemurrod|Alejandro Murillo Rodríguez]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:abdche|Abdelkader Chellik]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:zaksah2|Zakaria Sahmoudi]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Definición del proyecto ==&lt;br /&gt;
Este proyecto trata del desarrollo del subsistema de Agora@US &amp;quot;Visualización y gestión de resultados&amp;quot;. Nuestro grupo es el encargado de desarrollar el sistema de visualización, cuyo propósito es crear gráficas que muestren los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.&lt;br /&gt;
&lt;br /&gt;
== Código heredado ==&lt;br /&gt;
&lt;br /&gt;
A continuación ofrecemos el siguiente enlace donde se encuentra el código del proyecto heredado en la plataforma GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS1516/G10&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Para la buena comunicación entre los miembros del grupo nos hemos basado en herramientas como:&lt;br /&gt;
* '''Telegram''': lo hemos usado para comunicaciones cortas&lt;br /&gt;
* '''Hangouts''': para realizar reuniones telemáticas y nos dimos cuenta que no era tan eficaz porque no se entendía muy bien cuando se ponen a hablar más de dos personas y también había problemas de conexión&lt;br /&gt;
* '''Reuniones presenciales''': para nosotros ha sido la mejor manera de comunicarnos.&lt;br /&gt;
&lt;br /&gt;
== Gestión de las tareas ==&lt;br /&gt;
Para la gestión de tareas al principio hemos usado las hojas de '''Excel de Google Drive''' para la creación de las tareas y la asignaciones de cada una mediante una tabla que lleva las tareas y el nombre de la persona encargada de hacerla y luego pensamos en hacerlo con '''Trello''' de manera que dividimos el estado de las tareas en cuatro estados. En un apartado tenemos definidas todas las tareas que tiene que hacer cada uno, asignándola a cada miembro del grupo gracias a que Trello nos permite asignar tareas a miembros del grupo y también asignar la persona que se encargara de verificar la tarea, y cuando se empieza a trabajar sobre una tarea el miembro encargado lo pasa al estado &amp;quot;In progress&amp;quot; y cuando se termina de hacer la tarea lo pasa al estado &amp;quot;Verification&amp;quot; para que el miembro asignado a verificarla lo verifica y la pasa al estado &amp;quot;Done&amp;quot; y por últimos teníamos un apartado de enlaces útiles donde se pone informaciones útiles para la realización de las tareas.&lt;br /&gt;
&lt;br /&gt;
== Entorno de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
=== Tecnologías y herramientas ===&lt;br /&gt;
&lt;br /&gt;
El equipo de trabajo decidió usar como IDE '''Spring Tool Suite''' y hacer uso de las tecnologías y herramientas siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''Java 7'''&lt;br /&gt;
* '''Maven'''&lt;br /&gt;
* '''Tomcat 7'''&lt;br /&gt;
* '''MySQL'''&lt;br /&gt;
* '''Git'''&lt;br /&gt;
* '''AngularJS'''&lt;br /&gt;
* '''CSS3'''&lt;br /&gt;
* '''HTML5'''&lt;br /&gt;
&lt;br /&gt;
=== Instalación de subsitema ===&lt;br /&gt;
&lt;br /&gt;
Para la instalación de nuestro subsistema se deberá:&lt;br /&gt;
*Descargar el proyecto desde nuestro repositorio de GitHub&lt;br /&gt;
*Crear en MySQL una base de datos de nombre egc-frontend y un usuario user-frontend y contraseña us4r-front4nd con permiso para todas las acciones en la base de datos creada. Puede usarse para ello el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
      START TRANSACTION;&lt;br /&gt;
      DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
      CREATE DATABASE `egc-frontend`;&lt;br /&gt;
      USE `egc-frontend`;&lt;br /&gt;
      GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
      COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crear war del proyecto haciendo uso de maven, para ello hay que dirigirse a la raiz del proyeto y usar el comando mvn war:war&lt;br /&gt;
*Desplegar el war creado en un servidor de aplicaciones como por ejemplo TOMCAT 7.&lt;br /&gt;
&lt;br /&gt;
=== Lecciones aprendidas ===&lt;br /&gt;
&lt;br /&gt;
Dado que en el proyecto del año pasado se usaba AngularJS, hemos aprendido nociones básicas sobre este framework MVC para poder añadir algunas mejoras en la visualización de los resultados.&lt;br /&gt;
Por otra parte hemos aprendido que Spring tool suit es un IDE muy versátil y como de usar ya que viene configurado directamente para trabajar con proyectos maven, gestionar código con git y trabajar con spring.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Para la gestión del código se ha optado por Git y usaremos GitHub como servidor para alojar el código. A continuación se encuentra el enlace a nuestro repositorio de GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS-G2-1617/G28&lt;br /&gt;
&lt;br /&gt;
A continuación detallaremos aspectos relacionados con la gestión del código en nuestro trabajo como pueden ser el ''usage model'', gestión de las ramas, aplicación de cambios, asignación de roles y políticas de nombre y estilo del código fuente.&lt;br /&gt;
&lt;br /&gt;
==== Usage model y gestión de las ramas ====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
El modelo de uso que hemos seguido se basa en la creación de dos ramas principales, la rama ''master'' y la rama ''develop''.&lt;br /&gt;
&lt;br /&gt;
En la rama ''master'' se decidió tener las versiones estables de nuestro proyecto. Por otro lado, cuando queramos seguir desarrollando la aplicación lo vamos a hacer en la rama ''develop''. Esta rama será donde llevaremos todos los cambios que vayamos a implementar nuevos en la aplicación. Una vez que los cambios en la rama ''develop'' estén validados por nosotros y lo creamos conveniente, lo pasaremos a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
Por último, cada funcionalidad nueva se implementará en una rama local, las cuales no saldrán reflejadas, pero que están ahí. Una vez que terminemos una funcionalidad en un rama local, llamemos a la rama ''funcionalidad_1'', haremos una fusión (''merge'') con la rama ''develop'' y avisaremos de los cambios al equipo.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''branch'' y ''commit''.]]&lt;br /&gt;
&lt;br /&gt;
==== Aplicación de cambios y asignación de roles ====&lt;br /&gt;
&lt;br /&gt;
A la hora de aplicar cambios o nuevas funcionalidades siempre hemos actuado de la misma manera. Cuando teníamos en nuestra rama local el cambio o la funcionalidad terminada, nos cambiábamos a la rama ''develop'' y hacíamos un ''merge'' con la rama que implementaba esa funcionalidad. En este caso, el encargado de hacer el ''merge'' a la rama ''develop'' será, obviamente, el mismo que implementó esa funcionalidad. Una vez puesto en ''develop'' el nuevo cambio, se avisaba al grupo, y decidíamos si queríamos meter algún cambio más en ''develop'' o si simplemente queríamos realizar el ''push'' a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
No teníamos una persona encargada de realizar el ''push'' a la rama ''master'', simplemente se lo asignábamos al miembro del equipo que no lo había hecho hasta el momento, para que pudiera practicar con ''git''. Esto se eligió así para que todos pudiéramos tener la misma experiencia.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''merge'' y ''push''.]]&lt;br /&gt;
&lt;br /&gt;
==== Políticas de nombre y estilo del código fuente ====&lt;br /&gt;
&lt;br /&gt;
Para el nuevo código fuente implementado(sin contar el ya existente) se han intentado seguir las siguiente políticas de estilo para el código:&lt;br /&gt;
&lt;br /&gt;
* '''Nombres apropiados para las variables''': siempre hemos intentado usar nombres de variables para que no dificulten la lectura del código.&lt;br /&gt;
* '''Estilo de indentación más legible y espaciado para buena lectura del código'''.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Todas las incidencias se deberán reportar en el apartado &amp;quot;Issues&amp;quot; de nuestro GitHub (https://github.com/AgoraUS-G2-1617/G28) y deberán de seguir el siguiente esquema:&lt;br /&gt;
&lt;br /&gt;
* Titulo: Titulo descriptivo del problema&lt;br /&gt;
* Descripción: Detalles del problema&lt;br /&gt;
* Modulo: Módulo en el cuál se encuentra el posible código erróneo.&lt;br /&gt;
* Fecha: Ultima fecha en el cuál se modifico el código en el que se encuentra el problema.&lt;br /&gt;
* Pasos: Los pasos que se deben de seguir para reproducir el mismo problema en otra maquina distinta.&lt;br /&gt;
* Salida esperada: La salida (si es que sale algo) que nos da al ejecutar el código&lt;br /&gt;
* Salida real: La salida que nos devuelve el sistema.&lt;br /&gt;
&lt;br /&gt;
El procedimiento a seguir para la creación y solución de incidencias será el siguiente:&lt;br /&gt;
La persona que encuentre algún problema en la aplicación será el responsable de crear la incidencia, una vez creada intentará resolverla, si no pudiera se lo comunicaría al grupo y se decidirá a que persona se le asignará dicha incidencia.&lt;br /&gt;
Una vez resuelto el problema otro miembro del grupo verificará que está resuelta y se cerrará la incidencia.&lt;br /&gt;
&lt;br /&gt;
== Integración continua ==&lt;br /&gt;
===Jenkins===&lt;br /&gt;
La integración continua la gestionamos por medio de Jenkins y éste a su vez hace uso de Maven y muchas herramientas más para llevarla a cabo.&lt;br /&gt;
Disponemos en nuestra máquina virtual desplegadas dos versiones del sistema las cuales son posibles acceder mediante Internet gracias a que uno de nuestros miembros del grupo tiene configurado su router para redirigir el tráfico hacía estas:&lt;br /&gt;
&lt;br /&gt;
* Beta: http://visualizacionagoraus1617.duckdns.org:8088/Frontend-Resultados-beta&lt;br /&gt;
* Stable: http://visualizacionagoraus1617.duckdns.org:8088/Frontend-Resultados-stable&lt;br /&gt;
&lt;br /&gt;
Ahora mismo está configurado de tal manera que cuando Jenkins detecte algún cambio en el proyecto(push) desplegará el código que tengamos en nuestra rama develop automáticamente. Sin embargo, para actualizar lo que hay desplegado en la versión stable se hará de manera manual por siempre mantener estable la versión, y se actualizará con el consentimiento de todos los miembros, de esta manera, podremos tener el código desplegado de la rama master.&lt;br /&gt;
&lt;br /&gt;
Para la configuración de las distintas fases (beta y stable) veremos los siguientes casos prácticos para entrar en detalle en la configuración.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: Configuración de la fase beta.]]&lt;br /&gt;
&lt;br /&gt;
===Travis===&lt;br /&gt;
&lt;br /&gt;
Para la construcción continua también se hace uso de la herramienta Travis, cuando esta aplicación detecte un que se ha ejecutado un commit en GitHub lanzará los comando proporcionados en el fichero .travis.yml, y ejecutará los test del proyecto. &lt;br /&gt;
Así podemos automatizar la construcción y la ejecución de pruebas del sistema.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: Integración de Travis con GitHub.]]&lt;br /&gt;
&lt;br /&gt;
== Subsistemas relacionados ==&lt;br /&gt;
&lt;br /&gt;
*Base de datos&lt;br /&gt;
&lt;br /&gt;
== Diario del grupo ==&lt;br /&gt;
&lt;br /&gt;
=== Actas ===&lt;br /&gt;
&lt;br /&gt;
* [[Acta 01 - Creación y presentación del grupo (11/11/2016)]]&lt;br /&gt;
* [[Acta 02 - Reunión de grupo (21/11/2016)]]&lt;br /&gt;
* [[Acta 03 - Reunión de grupo (06/12/2016)]]&lt;br /&gt;
* [[Acta 04 - Reunión de grupo (12/12/2016)]]&lt;br /&gt;
* [[Acta 05 - Reunión de grupo (27/12/2016)]]&lt;br /&gt;
* [[Acta 06 - Reunión de grupo (09/01/2017)]]&lt;br /&gt;
&lt;br /&gt;
=== Hoja de tiempos ===&lt;br /&gt;
&lt;br /&gt;
* [[Hoja de tiempos - Visualización y gestión de resultados - 2016-2017]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5603</id>
		<title>Visualización y Gestión de Resultados G28</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5603"/>
				<updated>2017-01-10T22:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros del equipo ==&lt;br /&gt;
&lt;br /&gt;
*[[Usuario:juacascor|Juan Antonio Castañeda Cortázar]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:alemurrod|Alejandro Murillo Rodríguez]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:abdche|Abdelkader Chellik]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:zaksah2|Zakaria Sahmoudi]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Definición del proyecto ==&lt;br /&gt;
Este proyecto trata del desarrollo del subsistema de Agora@US &amp;quot;Visualización y gestión de resultados&amp;quot;. Nuestro grupo es el encargado de desarrollar el sistema de visualización, cuyo propósito es crear gráficas que muestren los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.&lt;br /&gt;
&lt;br /&gt;
== Código heredado ==&lt;br /&gt;
&lt;br /&gt;
A continuación ofrecemos el siguiente enlace donde se encuentra el código del proyecto heredado en la plataforma GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS1516/G10&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Para la buena comunicación entre los miembros del grupo nos hemos basado en herramientas como:&lt;br /&gt;
* '''Telegram''': lo hemos usado para comunicaciones cortas&lt;br /&gt;
* '''Hangouts''': para realizar reuniones telemáticas y nos dimos cuenta que no era tan eficaz porque no se entendía muy bien cuando se ponen a hablar más de dos personas y también había problemas de conexión&lt;br /&gt;
* '''Reuniones presenciales''': para nosotros ha sido la mejor manera de comunicarnos.&lt;br /&gt;
&lt;br /&gt;
== Gestión de las tareas ==&lt;br /&gt;
Para la gestión de tareas al principio hemos usado las hojas de '''Excel de Google Drive''' para la creación de las tareas y la asignaciones de cada una mediante una tabla que lleva las tareas y el nombre de la persona encargada de hacerla y luego pensamos en hacerlo con '''Trello''' de manera que dividimos el estado de las tareas en cuatro estados. En un apartado tenemos definidas todas las tareas que tiene que hacer cada uno, asignándola a cada miembro del grupo gracias a que Trello nos permite asignar tareas a miembros del grupo y también asignar la persona que se encargara de verificar la tarea, y cuando se empieza a trabajar sobre una tarea el miembro encargado lo pasa al estado &amp;quot;In progress&amp;quot; y cuando se termina de hacer la tarea lo pasa al estado &amp;quot;Verification&amp;quot; para que el miembro asignado a verificarla lo verifica y la pasa al estado &amp;quot;Done&amp;quot; y por últimos teníamos un apartado de enlaces útiles donde se pone informaciones útiles para la realización de las tareas.&lt;br /&gt;
&lt;br /&gt;
== Entorno de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
=== Tecnologías y herramientas ===&lt;br /&gt;
&lt;br /&gt;
El equipo de trabajo decidió usar como IDE '''Spring Tool Suite''' y hacer uso de las tecnologías y herramientas siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''Java 7'''&lt;br /&gt;
* '''Maven'''&lt;br /&gt;
* '''Tomcat 7'''&lt;br /&gt;
* '''MySQL'''&lt;br /&gt;
* '''Git'''&lt;br /&gt;
* '''AngularJS'''&lt;br /&gt;
* '''CSS3'''&lt;br /&gt;
* '''HTML5'''&lt;br /&gt;
&lt;br /&gt;
=== Instalación de subsitema ===&lt;br /&gt;
&lt;br /&gt;
Para la instalación de nuestro subsistema se deberá:&lt;br /&gt;
*Descargar el proyecto desde nuestro repositorio de GitHub&lt;br /&gt;
*Crear en MySQL una base de datos de nombre egc-frontend y un usuario user-frontend y contraseña us4r-front4nd con permiso para todas las acciones en la base de datos creada. Puede usarse para ello el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
      START TRANSACTION;&lt;br /&gt;
      DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
      CREATE DATABASE `egc-frontend`;&lt;br /&gt;
      USE `egc-frontend`;&lt;br /&gt;
      GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
      COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crear war del proyecto haciendo uso de maven, para ello hay que dirigirse a la raiz del proyeto y usar el comando mvn war:war&lt;br /&gt;
*Desplegar el war creado en un servidor de aplicaciones como por ejemplo TOMCAT 7.&lt;br /&gt;
&lt;br /&gt;
=== Lecciones aprendidas ===&lt;br /&gt;
&lt;br /&gt;
Dado que en el proyecto del año pasado se usaba AngularJS, hemos aprendido nociones básicas sobre este framework MVC para poder añadir algunas mejoras en la visualización de los resultados.&lt;br /&gt;
Por otra parte hemos aprendido que Spring tool suit es un IDE muy versátil y como de usar ya que viene configurado directamente para trabajar con proyectos maven, gestionar código con git y trabajar con spring.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Para la gestión del código se ha optado por Git y usaremos GitHub como servidor para alojar el código. A continuación se encuentra el enlace a nuestro repositorio de GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS-G2-1617/G28&lt;br /&gt;
&lt;br /&gt;
A continuación detallaremos aspectos relacionados con la gestión del código en nuestro trabajo como pueden ser el ''usage model'', gestión de las ramas, aplicación de cambios, asignación de roles y políticas de nombre y estilo del código fuente.&lt;br /&gt;
&lt;br /&gt;
==== Usage model y gestión de las ramas ====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
El modelo de uso que hemos seguido se basa en la creación de dos ramas principales, la rama ''master'' y la rama ''develop''.&lt;br /&gt;
&lt;br /&gt;
En la rama ''master'' se decidió tener las versiones estables de nuestro proyecto. Por otro lado, cuando queramos seguir desarrollando la aplicación lo vamos a hacer en la rama ''develop''. Esta rama será donde llevaremos todos los cambios que vayamos a implementar nuevos en la aplicación. Una vez que los cambios en la rama ''develop'' estén validados por nosotros y lo creamos conveniente, lo pasaremos a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
Por último, cada funcionalidad nueva se implementará en una rama local, las cuales no saldrán reflejadas, pero que están ahí. Una vez que terminemos una funcionalidad en un rama local, llamemos a la rama ''funcionalidad_1'', haremos una fusión (''merge'') con la rama ''develop'' y avisaremos de los cambios al equipo.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''branch'' y ''commit''.]]&lt;br /&gt;
&lt;br /&gt;
==== Aplicación de cambios y asignación de roles ====&lt;br /&gt;
&lt;br /&gt;
A la hora de aplicar cambios o nuevas funcionalidades siempre hemos actuado de la misma manera. Cuando teníamos en nuestra rama local el cambio o la funcionalidad terminada, nos cambiábamos a la rama ''develop'' y hacíamos un ''merge'' con la rama que implementaba esa funcionalidad. En este caso, el encargado de hacer el ''merge'' a la rama ''develop'' será, obviamente, el mismo que implementó esa funcionalidad. Una vez puesto en ''develop'' el nuevo cambio, se avisaba al grupo, y decidíamos si queríamos meter algún cambio más en ''develop'' o si simplemente queríamos realizar el ''push'' a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
No teníamos una persona encargada de realizar el ''push'' a la rama ''master'', simplemente se lo asignábamos al miembro del equipo que no lo había hecho hasta el momento, para que pudiera practicar con ''git''. Esto se eligió así para que todos pudiéramos tener la misma experiencia.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''merge'' y ''push''.]]&lt;br /&gt;
&lt;br /&gt;
==== Políticas de nombre y estilo del código fuente ====&lt;br /&gt;
&lt;br /&gt;
Para el nuevo código fuente implementado(sin contar el ya existente) se han intentado seguir las siguiente políticas de estilo para el código:&lt;br /&gt;
&lt;br /&gt;
* '''Nombres apropiados para las variables''': siempre hemos intentado usar nombres de variables para que no dificulten la lectura del código.&lt;br /&gt;
* '''Estilo de indentación más legible y espaciado para buena lectura del código'''.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Todas las incidencias se deberán reportar en el apartado &amp;quot;Issues&amp;quot; de nuestro GitHub (https://github.com/AgoraUS-G2-1617/G28) y deberán de seguir el siguiente esquema:&lt;br /&gt;
&lt;br /&gt;
* Titulo: Titulo descriptivo del problema&lt;br /&gt;
* Descripción: Detalles del problema&lt;br /&gt;
* Modulo: Módulo en el cuál se encuentra el posible código erróneo.&lt;br /&gt;
* Fecha: Ultima fecha en el cuál se modifico el código en el que se encuentra el problema.&lt;br /&gt;
* Pasos: Los pasos que se deben de seguir para reproducir el mismo problema en otra maquina distinta.&lt;br /&gt;
* Salida esperada: La salida (si es que sale algo) que nos da al ejecutar el código&lt;br /&gt;
* Salida real: La salida que nos devuelve el sistema.&lt;br /&gt;
&lt;br /&gt;
El procedimiento a seguir para la creación y solución de incidencias será el siguiente:&lt;br /&gt;
La persona que encuentre algún problema en la aplicación será el responsable de crear la incidencia, una vez creada intentará resolverla, si no pudiera se lo comunicaría al grupo y se decidirá a que persona se le asignará dicha incidencia.&lt;br /&gt;
Una vez resuelto el problema otro miembro del grupo verificará que está resuelta y se cerrará la incidencia.&lt;br /&gt;
&lt;br /&gt;
== Integración continua ==&lt;br /&gt;
===Jenkins===&lt;br /&gt;
La integración continua la gestionamos por medio de Jenkins y éste a su vez hace uso de Maven y muchas herramientas más para llevarla a cabo.&lt;br /&gt;
Disponemos en nuestra máquina virtual desplegadas dos versiones del sistema las cuales son posibles acceder mediante Internet gracias a que uno de nuestros miembros del grupo tiene configurado su router para redirigir el tráfico hacía estas:&lt;br /&gt;
&lt;br /&gt;
* Beta: http://visualizacionagoraus1617.duckdns.org:8088/Frontend-Resultados-beta&lt;br /&gt;
* Stable: http://visualizacionagoraus1617.duckdns.org:8088/Frontend-Resultados-stable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ahora mismo está configurado de tal manera que cuando Jenkins detecte algún cambio en el proyecto(push) desplegará el código que tengamos en nuestra rama develop automáticamente. Sin embargo, para actualizar lo que hay desplegado en la versión stable se hará de manera manual por siempre mantener estable la versión, y se actualizará con el consentimiento de todos los miembros, de esta manera, podremos tener el código desplegado de la rama master.&lt;br /&gt;
&lt;br /&gt;
Para la configuración de las distintas fases (beta y stable) veremos los siguientes casos prácticos para entrar en detalle en la configuración.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: Configuración de la fase beta.]]&lt;br /&gt;
&lt;br /&gt;
===Travis===&lt;br /&gt;
&lt;br /&gt;
Para la construcción continua también se hace uso de la herramienta Travis, cuando esta aplicación detecte un que se ha ejecutado un commit en GitHub lanzará los comando proporcionados en el fichero .travis.yml, y ejecutará los test del proyecto. &lt;br /&gt;
Así podemos automatizar la construcción y la ejecución de pruebas del sistema.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: Integración de Travis con GitHub.]]&lt;br /&gt;
&lt;br /&gt;
== Subsistemas relacionados ==&lt;br /&gt;
&lt;br /&gt;
*Base de datos&lt;br /&gt;
&lt;br /&gt;
== Diario del grupo ==&lt;br /&gt;
&lt;br /&gt;
=== Actas ===&lt;br /&gt;
&lt;br /&gt;
* [[Acta 01 - Creación y presentación del grupo (11/11/2016)]]&lt;br /&gt;
* [[Acta 02 - Reunión de grupo (21/11/2016)]]&lt;br /&gt;
* [[Acta 03 - Reunión de grupo (06/12/2016)]]&lt;br /&gt;
* [[Acta 04 - Reunión de grupo (12/12/2016)]]&lt;br /&gt;
* [[Acta 05 - Reunión de grupo (27/12/2016)]]&lt;br /&gt;
* [[Acta 06 - Reunión de grupo (09/01/2017)]]&lt;br /&gt;
&lt;br /&gt;
=== Hoja de tiempos ===&lt;br /&gt;
&lt;br /&gt;
* [[Hoja de tiempos - Visualización y gestión de resultados - 2016-2017]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5601</id>
		<title>Visualización y Gestión de Resultados G28</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5601"/>
				<updated>2017-01-10T22:09:50Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros del equipo ==&lt;br /&gt;
&lt;br /&gt;
*[[Usuario:juacascor|Juan Antonio Castañeda Cortázar]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:alemurrod|Alejandro Murillo Rodríguez]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:abdche|Abdelkader Chellik]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:zaksah2|Zakaria Sahmoudi]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Definición del proyecto ==&lt;br /&gt;
Este proyecto trata del desarrollo del subsistema de Agora@US &amp;quot;Visualización y gestión de resultados&amp;quot;. Nuestro grupo es el encargado de desarrollar el sistema de visualización, cuyo propósito es crear gráficas que muestren los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.&lt;br /&gt;
&lt;br /&gt;
== Código heredado ==&lt;br /&gt;
&lt;br /&gt;
A continuación ofrecemos el siguiente enlace donde se encuentra el código del proyecto heredado en la plataforma GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS1516/G10&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Para la buena comunicación entre los miembros del grupo nos hemos basado en herramientas como:&lt;br /&gt;
* '''Telegram''': lo hemos usado para comunicaciones cortas&lt;br /&gt;
* '''Hangouts''': para realizar reuniones telemáticas y nos dimos cuenta que no era tan eficaz porque no se entendía muy bien cuando se ponen a hablar más de dos personas y también había problemas de conexión&lt;br /&gt;
* '''Reuniones presenciales''': para nosotros ha sido la mejor manera de comunicarnos.&lt;br /&gt;
&lt;br /&gt;
== Gestión de las tareas ==&lt;br /&gt;
Para la gestión de tareas al principio hemos usado las hojas de '''Excel de Google Drive''' para la creación de las tareas y la asignaciones de cada una mediante una tabla que lleva las tareas y el nombre de la persona encargada de hacerla y luego pensamos en hacerlo con '''Trello''' de manera que dividimos el estado de las tareas en cuatro estados. En un apartado tenemos definidas todas las tareas que tiene que hacer cada uno, asignándola a cada miembro del grupo gracias a que Trello nos permite asignar tareas a miembros del grupo y también asignar la persona que se encargara de verificar la tarea, y cuando se empieza a trabajar sobre una tarea el miembro encargado lo pasa al estado &amp;quot;In progress&amp;quot; y cuando se termina de hacer la tarea lo pasa al estado &amp;quot;Verification&amp;quot; para que el miembro asignado a verificarla lo verifica y la pasa al estado &amp;quot;Done&amp;quot; y por últimos teníamos un apartado de enlaces útiles donde se pone informaciones útiles para la realización de las tareas.&lt;br /&gt;
&lt;br /&gt;
== Entorno de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
=== Tecnologías y herramientas ===&lt;br /&gt;
&lt;br /&gt;
El equipo de trabajo decidió usar como IDE '''Spring Tool Suite''' y hacer uso de las tecnologías y herramientas siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''Java 7'''&lt;br /&gt;
* '''Maven'''&lt;br /&gt;
* '''Tomcat 7'''&lt;br /&gt;
* '''MySQL'''&lt;br /&gt;
* '''Git'''&lt;br /&gt;
* '''AngularJS'''&lt;br /&gt;
* '''CSS3'''&lt;br /&gt;
* '''HTML5'''&lt;br /&gt;
&lt;br /&gt;
=== Instalación de subsitema ===&lt;br /&gt;
&lt;br /&gt;
Para la instalación de nuestro subsistema se deberá:&lt;br /&gt;
*Descargar el proyecto desde nuestro repositorio de GitHub&lt;br /&gt;
*Crear en MySQL una base de datos de nombre egc-frontend y un usuario user-frontend y contraseña us4r-front4nd con permiso para todas las acciones en la base de datos creada. Puede usarse para ello el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
      START TRANSACTION;&lt;br /&gt;
      DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
      CREATE DATABASE `egc-frontend`;&lt;br /&gt;
      USE `egc-frontend`;&lt;br /&gt;
      GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
      COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crear war del proyecto haciendo uso de maven, para ello hay que dirigirse a la raiz del proyeto y usar el comando mvn war:war&lt;br /&gt;
*Desplegar el war creado en un servidor de aplicaciones como por ejemplo TOMCAT 7.&lt;br /&gt;
&lt;br /&gt;
=== Lecciones aprendidas ===&lt;br /&gt;
&lt;br /&gt;
Dado que en el proyecto del año pasado se usaba AngularJS, hemos aprendido nociones básicas sobre este framework MVC para poder añadir algunas mejoras en la visualización de los resultados.&lt;br /&gt;
Por otra parte hemos aprendido que Spring tool suit es un IDE muy versátil y como de usar ya que viene configurado directamente para trabajar con proyectos maven, gestionar código con git y trabajar con spring.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Para la gestión del código se ha optado por Git y usaremos GitHub como servidor para alojar el código. A continuación se encuentra el enlace a nuestro repositorio de GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS-G2-1617/G28&lt;br /&gt;
&lt;br /&gt;
A continuación detallaremos aspectos relacionados con la gestión del código en nuestro trabajo como pueden ser el ''usage model'', gestión de las ramas, aplicación de cambios, asignación de roles y políticas de nombre y estilo del código fuente.&lt;br /&gt;
&lt;br /&gt;
==== Usage model y gestión de las ramas ====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
El modelo de uso que hemos seguido se basa en la creación de dos ramas principales, la rama ''master'' y la rama ''develop''.&lt;br /&gt;
&lt;br /&gt;
En la rama ''master'' se decidió tener las versiones estables de nuestro proyecto. Por otro lado, cuando queramos seguir desarrollando la aplicación lo vamos a hacer en la rama ''develop''. Esta rama será donde llevaremos todos los cambios que vayamos a implementar nuevos en la aplicación. Una vez que los cambios en la rama ''develop'' estén validados por nosotros y lo creamos conveniente, lo pasaremos a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
Por último, cada funcionalidad nueva se implementará en una rama local, las cuales no saldrán reflejadas, pero que están ahí. Una vez que terminemos una funcionalidad en un rama local, llamemos a la rama ''funcionalidad_1'', haremos una fusión (''merge'') con la rama ''develop'' y avisaremos de los cambios al equipo.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''branch'' y ''commit''.]]&lt;br /&gt;
&lt;br /&gt;
==== Aplicación de cambios y asignación de roles ====&lt;br /&gt;
&lt;br /&gt;
A la hora de aplicar cambios o nuevas funcionalidades siempre hemos actuado de la misma manera. Cuando teníamos en nuestra rama local el cambio o la funcionalidad terminada, nos cambiábamos a la rama ''develop'' y hacíamos un ''merge'' con la rama que implementaba esa funcionalidad. En este caso, el encargado de hacer el ''merge'' a la rama ''develop'' será, obviamente, el mismo que implementó esa funcionalidad. Una vez puesto en ''develop'' el nuevo cambio, se avisaba al grupo, y decidíamos si queríamos meter algún cambio más en ''develop'' o si simplemente queríamos realizar el ''push'' a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
No teníamos una persona encargada de realizar el ''push'' a la rama ''master'', simplemente se lo asignábamos al miembro del equipo que no lo había hecho hasta el momento, para que pudiera practicar con ''git''. Esto se eligió así para que todos pudiéramos tener la misma experiencia.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''merge'' y ''push''.]]&lt;br /&gt;
&lt;br /&gt;
==== Políticas de nombre y estilo del código fuente ====&lt;br /&gt;
&lt;br /&gt;
Para el nuevo código fuente implementado(sin contar el ya existente) se han intentado seguir las siguiente políticas de estilo para el código:&lt;br /&gt;
&lt;br /&gt;
* '''Nombres apropiados para las variables''': siempre hemos intentado usar nombres de variables para que no dificulten la lectura del código.&lt;br /&gt;
* '''Estilo de indentación más legible y espaciado para buena lectura del código'''.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Todas las incidencias se deberán reportar en el apartado &amp;quot;Issues&amp;quot; de nuestro GitHub (https://github.com/AgoraUS-G2-1617/G28) y deberán de seguir el siguiente esquema:&lt;br /&gt;
&lt;br /&gt;
* Titulo: Titulo descriptivo del problema&lt;br /&gt;
* Descripción: Detalles del problema&lt;br /&gt;
* Modulo: Módulo en el cuál se encuentra el posible código erróneo.&lt;br /&gt;
* Fecha: Ultima fecha en el cuál se modifico el código en el que se encuentra el problema.&lt;br /&gt;
* Pasos: Los pasos que se deben de seguir para reproducir el mismo problema en otra maquina distinta.&lt;br /&gt;
* Salida esperada: La salida (si es que sale algo) que nos da al ejecutar el código&lt;br /&gt;
* Salida real: La salida que nos devuelve el sistema.&lt;br /&gt;
&lt;br /&gt;
El procedimiento a seguir para la creación y solución de incidencias será el siguiente:&lt;br /&gt;
La persona que encuentre algún problema en la aplicación será el responsable de crear la incidencia, una vez creada intentará resolverla, si no pudiera se lo comunicaría al grupo y se decidirá a que persona se le asignará dicha incidencia.&lt;br /&gt;
Una vez resuelto el problema otro miembro del grupo verificará que está resuelta y se cerrará la incidencia.&lt;br /&gt;
&lt;br /&gt;
== Integración continua ==&lt;br /&gt;
===Jenkins===&lt;br /&gt;
La integración continua la gestionamos por medio de Jenkins y éste a su vez hace uso de Maven y muchas herramientas más para llevarla a cabo.&lt;br /&gt;
Disponemos en nuestra máquina virtual desplegadas dos versiones del sistema las cuales son posibles acceder mediante Internet gracias a que uno de nuestros miembros del grupo tiene configurado su router para redirigir el tráfico hacía estas:&lt;br /&gt;
* Beta: http://visualizacionagoraus1617.duckdns.org:8088/Frontend-Resultados-beta&lt;br /&gt;
* Stable: http://visualizacionagoraus1617.duckdns.org:8088/Frontend-Resultados-stable&lt;br /&gt;
&lt;br /&gt;
Ahora mismo está configurado de tal manera que cuando Jenkins detecte algún cambio en el proyecto(push) desplegará el código que tengamos en nuestra rama develop automáticamente. Sin embargo, para actualizar lo que hay desplegado en la versión stable se hará de manera manual por siempre mantener estable la versión, y se actualizará con el consentimiento de todos los miembros, de esta manera, podremos tener el código desplegado de la rama master.&lt;br /&gt;
&lt;br /&gt;
Para la configuración de las distintas fases (beta y stable) veremos los siguientes casos prácticos para entrar en detalle en la configuración.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: Configuración de la fase beta.]]&lt;br /&gt;
&lt;br /&gt;
===Travis===&lt;br /&gt;
&lt;br /&gt;
Para la construcción continua también se hace uso de la herramienta Travis, cuando esta aplicación detecte un que se ha ejecutado un commit en GitHub lanzará los comando proporcionados en el fichero .travis.yml, y ejecutará los test del proyecto. &lt;br /&gt;
Así podemos automatizar la construcción y la ejecución de pruebas del sistema.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: Integración de Travis con GitHub.]]&lt;br /&gt;
&lt;br /&gt;
== Subsistemas relacionados ==&lt;br /&gt;
&lt;br /&gt;
*Base de datos&lt;br /&gt;
&lt;br /&gt;
== Diario del grupo ==&lt;br /&gt;
&lt;br /&gt;
=== Actas ===&lt;br /&gt;
&lt;br /&gt;
* [[Acta 01 - Creación y presentación del grupo (11/11/2016)]]&lt;br /&gt;
* [[Acta 02 - Reunión de grupo (21/11/2016)]]&lt;br /&gt;
* [[Acta 03 - Reunión de grupo (06/12/2016)]]&lt;br /&gt;
* [[Acta 04 - Reunión de grupo (12/12/2016)]]&lt;br /&gt;
* [[Acta 05 - Reunión de grupo (27/12/2016)]]&lt;br /&gt;
* [[Acta 06 - Reunión de grupo (09/01/2017)]]&lt;br /&gt;
&lt;br /&gt;
=== Hoja de tiempos ===&lt;br /&gt;
&lt;br /&gt;
* [[Hoja de tiempos - Visualización y gestión de resultados - 2016-2017]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5586</id>
		<title>Visualización y Gestión de Resultados G28</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5586"/>
				<updated>2017-01-10T20:09:21Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros del equipo ==&lt;br /&gt;
&lt;br /&gt;
*[[Usuario:juacascor|Juan Antonio Castañeda Cortázar]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:alemurrod|Alejandro Murillo Rodríguez]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:abdche|Abdelkader Chellik]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:zaksah2|Zakaria Sahmoudi]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Definición del proyecto ==&lt;br /&gt;
Este proyecto trata del desarrollo del subsistema de Agora@US &amp;quot;Visualización y gestión de resultados&amp;quot;. Nuestro grupo es el encargado de desarrollar el sistema de visualización, cuyo propósito es crear gráficas que muestren los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.&lt;br /&gt;
&lt;br /&gt;
== Código heredado ==&lt;br /&gt;
&lt;br /&gt;
A continuación ofrecemos el siguiente enlace donde se encuentra el código del proyecto heredado en la plataforma GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS1516/G10&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Para la buena comunicación entre los miembros del grupo nos hemos basado en herramientas como:&lt;br /&gt;
* '''Telegram''': lo hemos usado para comunicaciones cortas&lt;br /&gt;
* '''Hangouts''': para realizar reuniones telemáticas y nos dimos cuenta que no era tan eficaz porque no se entendía muy bien cuando se ponen a hablar más de dos personas y también había problemas de conexión&lt;br /&gt;
* '''Reuniones presenciales''': para nosotros ha sido la mejor manera de comunicarnos.&lt;br /&gt;
&lt;br /&gt;
== Gestión de las tareas ==&lt;br /&gt;
Para la gestión de tareas al principio hemos usado las hojas de '''Excel de Google Drive''' para la creación de las tareas y la asignaciones de cada una mediante una tabla que lleva las tareas y el nombre de la persona encargada de hacerla y luego pensamos en hacerlo con '''Trello''' de manera que dividimos el estado de las tareas en cuatro estados. En un apartado tenemos definidas todas las tareas que tiene que hacer cada uno, asignándola a cada miembro del grupo gracias a que Trello nos permite asignar tareas a miembros del grupo y también asignar la persona que se encargara de verificar la tarea, y cuando se empieza a trabajar sobre una tarea el miembro encargado lo pasa al estado &amp;quot;In progress&amp;quot; y cuando se termina de hacer la tarea lo pasa al estado &amp;quot;Verification&amp;quot; para que el miembro asignado a verificarla lo verifica y la pasa al estado &amp;quot;Done&amp;quot; y por últimos teníamos un apartado de enlaces útiles donde se pone informaciones útiles para la realización de las tareas.&lt;br /&gt;
&lt;br /&gt;
== Entorno de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
=== Tecnologías y herramientas ===&lt;br /&gt;
&lt;br /&gt;
El equipo de trabajo decidió usar como IDE '''Spring Tool Suite''' y hacer uso de las tecnologías y herramientas siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''Java 7'''&lt;br /&gt;
* '''Maven'''&lt;br /&gt;
* '''Tomcat 7'''&lt;br /&gt;
* '''MySQL'''&lt;br /&gt;
* '''Git'''&lt;br /&gt;
* '''AngularJS'''&lt;br /&gt;
* '''CSS3'''&lt;br /&gt;
* '''HTML5'''&lt;br /&gt;
&lt;br /&gt;
=== Instalación de subsitema ===&lt;br /&gt;
&lt;br /&gt;
Para la instalación de nuestro subsistema se deberá:&lt;br /&gt;
*Descargar el proyecto desde nuestro repositorio de GitHub&lt;br /&gt;
*Crear en MySQL una base de datos de nombre egc-frontend y un usuario user-frontend y contraseña us4r-front4nd con permiso para todas las acciones en la base de datos creada. Puede usarse para ello el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
      START TRANSACTION;&lt;br /&gt;
      DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
      CREATE DATABASE `egc-frontend`;&lt;br /&gt;
      USE `egc-frontend`;&lt;br /&gt;
      GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
      COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crear war del proyecto haciendo uso de maven, para ello hay que dirigirse a la raiz del proyeto y usar el comando mvn war:war&lt;br /&gt;
*Desplegar el war creado en un servidor de aplicaciones como por ejemplo TOMCAT 7.&lt;br /&gt;
&lt;br /&gt;
=== Lecciones aprendidas ===&lt;br /&gt;
&lt;br /&gt;
Dado que en el proyecto del año pasado se usaba AngularJS, hemos aprendido nociones básicas sobre este framework MVC para poder añadir algunas mejoras en la visualización de los resultados.&lt;br /&gt;
Por otra parte hemos aprendido que Spring tool suit es un IDE muy versátil y como de usar ya que viene configurado directamente para trabajar con proyectos maven, gestionar código con git y trabajar con spring.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Para la gestión del código se ha optado por Git y usaremos GitHub como servidor para alojar el código. A continuación se encuentra el enlace a nuestro repositorio de GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS-G2-1617/G28&lt;br /&gt;
&lt;br /&gt;
A continuación detallaremos aspectos relacionados con la gestión del código en nuestro trabajo como pueden ser el ''usage model'', gestión de las ramas, aplicación de cambios, asignación de roles y políticas de nombre y estilo del código fuente.&lt;br /&gt;
&lt;br /&gt;
==== Usage model y gestión de las ramas ====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
El modelo de uso que hemos seguido se basa en la creación de dos ramas principales, la rama ''master'' y la rama ''develop''.&lt;br /&gt;
&lt;br /&gt;
En la rama ''master'' se decidió tener las versiones estables de nuestro proyecto. Por otro lado, cuando queramos seguir desarrollando la aplicación lo vamos a hacer en la rama ''develop''. Esta rama será donde llevaremos todos los cambios que vayamos a implementar nuevos en la aplicación. Una vez que los cambios en la rama ''develop'' estén validados por nosotros y lo creamos conveniente, lo pasaremos a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
Por último, cada funcionalidad nueva se implementará en una rama local, las cuales no saldrán reflejadas, pero que están ahí. Una vez que terminemos una funcionalidad en un rama local, llamemos a la rama ''funcionalidad_1'', haremos una fusión (''merge'') con la rama ''develop'' y avisaremos de los cambios al equipo.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''branch'' y ''commit''.]]&lt;br /&gt;
&lt;br /&gt;
==== Aplicación de cambios y asignación de roles ====&lt;br /&gt;
&lt;br /&gt;
A la hora de aplicar cambios o nuevas funcionalidades siempre hemos actuado de la misma manera. Cuando teníamos en nuestra rama local el cambio o la funcionalidad terminada, nos cambiábamos a la rama ''develop'' y hacíamos un ''merge'' con la rama que implementaba esa funcionalidad. En este caso, el encargado de hacer el ''merge'' a la rama ''develop'' será, obviamente, el mismo que implementó esa funcionalidad. Una vez puesto en ''develop'' el nuevo cambio, se avisaba al grupo, y decidíamos si queríamos meter algún cambio más en ''develop'' o si simplemente queríamos realizar el ''push'' a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
No teníamos una persona encargada de realizar el ''push'' a la rama ''master'', simplemente se lo asignábamos al miembro del equipo que no lo había hecho hasta el momento, para que pudiera practicar con ''git''. Esto se eligió así para que todos pudiéramos tener la misma experiencia.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''merge'' y ''push''.]]&lt;br /&gt;
&lt;br /&gt;
==== Políticas de nombre y estilo del código fuente ====&lt;br /&gt;
&lt;br /&gt;
Para el nuevo código fuente implementado(sin contar el ya existente) se han intentado seguir las siguiente políticas de estilo para el código:&lt;br /&gt;
&lt;br /&gt;
* '''Nombres apropiados para las variables''': siempre hemos intentado usar nombres de variables para que no dificulten la lectura del código.&lt;br /&gt;
* '''Estilo de indentación más legible y espaciado para buena lectura del código'''.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Todas las incidencias se deberán reportar en el apartado &amp;quot;Issues&amp;quot; de nuestro GitHub (https://github.com/AgoraUS-G2-1617/G28) y deberán de seguir el siguiente esquema:&lt;br /&gt;
&lt;br /&gt;
* Titulo: Titulo descriptivo del problema&lt;br /&gt;
* Descripción: Detalles del problema&lt;br /&gt;
* Modulo: Módulo en el cuál se encuentra el posible código erróneo.&lt;br /&gt;
* Fecha: Ultima fecha en el cuál se modifico el código en el que se encuentra el problema.&lt;br /&gt;
* Pasos: Los pasos que se deben de seguir para reproducir el mismo problema en otra maquina distinta.&lt;br /&gt;
* Salida esperada: La salida (si es que sale algo) que nos da al ejecutar el código&lt;br /&gt;
* Salida real: La salida que nos devuelve el sistema.&lt;br /&gt;
&lt;br /&gt;
El procedimiento a seguir para la creación y solución de incidencias será el siguiente:&lt;br /&gt;
La persona que encuentre algún problema en la aplicación será el responsable de crear la incidencia, una vez creada intentará resolverla, si no pudiera se lo comunicaría al grupo y se decidirá a que persona se le asignará dicha incidencia.&lt;br /&gt;
Una vez resuelto el problema otro miembro del grupo verificará que está resuelta y se cerrará la incidencia.&lt;br /&gt;
&lt;br /&gt;
== Subsistemas relacionados ==&lt;br /&gt;
&lt;br /&gt;
*Base de datos&lt;br /&gt;
&lt;br /&gt;
== Diario del grupo ==&lt;br /&gt;
&lt;br /&gt;
=== Actas ===&lt;br /&gt;
&lt;br /&gt;
* [[Acta 01 - Creación y presentación del grupo (11/11/2016)]]&lt;br /&gt;
* [[Acta 02 - Reunión de grupo (21/11/2016)]]&lt;br /&gt;
* [[Acta 03 - Reunión de grupo (06/12/2016)]]&lt;br /&gt;
* [[Acta 04 - Reunión de grupo (12/12/2016)]]&lt;br /&gt;
* [[Acta 05 - Reunión de grupo (27/12/2016)]]&lt;br /&gt;
* [[Acta 06 - Reunión de grupo (09/01/2017)]]&lt;br /&gt;
&lt;br /&gt;
=== Hoja de tiempos ===&lt;br /&gt;
&lt;br /&gt;
* [[Hoja de tiempos - Visualización y gestión de resultados - 2016-2017]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5584</id>
		<title>Visualización y Gestión de Resultados G28</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5584"/>
				<updated>2017-01-10T20:05:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros del equipo ==&lt;br /&gt;
&lt;br /&gt;
*[[Usuario:juacascor|Juan Antonio Castañeda Cortázar]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:alemurrod|Alejandro Murillo Rodríguez]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:abdche|Abdelkader Chellik]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:zaksah2|Zakaria Sahmoudi]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Definición del proyecto ==&lt;br /&gt;
Este proyecto trata del desarrollo del subsistema de Agora@US &amp;quot;Visualización y gestión de resultados&amp;quot;. Nuestro grupo es el encargado de desarrollar el sistema de visualización, cuyo propósito es crear gráficas que muestren los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.&lt;br /&gt;
&lt;br /&gt;
== Código heredado ==&lt;br /&gt;
&lt;br /&gt;
A continuación ofrecemos el siguiente enlace donde se encuentra el código del proyecto heredado en la plataforma GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS1516/G10&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Para la buena comunicación entre los miembros del grupo nos hemos basado en herramientas como:&lt;br /&gt;
* '''Telegram''': lo hemos usado para comunicaciones cortas&lt;br /&gt;
* '''Hangouts''': para realizar reuniones telemáticas y nos dimos cuenta que no era tan eficaz porque no se entendía muy bien cuando se ponen a hablar más de dos personas y también había problemas de conexión&lt;br /&gt;
* '''Reuniones presenciales''': para nosotros ha sido la mejor manera de comunicarnos.&lt;br /&gt;
&lt;br /&gt;
== Gestión de las tareas ==&lt;br /&gt;
Para la gestión de tareas al principio hemos usado las hojas de '''Excel de Google Drive''' para la creación de las tareas y la asignaciones de cada una mediante una tabla que lleva las tareas y el nombre de la persona encargada de hacerla y luego pensamos en hacerlo con '''Trello''' de manera que dividimos el estado de las tareas en cuatro estados. En un apartado tenemos definidas todas las tareas que tiene que hacer cada uno, asignándola a cada miembro del grupo gracias a que Trello nos permite asignar tareas a miembros del grupo y también asignar la persona que se encargara de verificar la tarea, y cuando se empieza a trabajar sobre una tarea el miembro encargado lo pasa al estado &amp;quot;In progress&amp;quot; y cuando se termina de hacer la tarea lo pasa al estado &amp;quot;Verification&amp;quot; para que el miembro asignado a verificarla lo verifica y la pasa al estado &amp;quot;Done&amp;quot; y por últimos teníamos un apartado de enlaces útiles donde se pone informaciones útiles para la realización de las tareas.&lt;br /&gt;
&lt;br /&gt;
== Entorno de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
=== Tecnologías y herramientas ===&lt;br /&gt;
&lt;br /&gt;
El equipo de trabajo decidió usar como IDE '''Spring Tool Suite''' y hacer uso de las tecnologías y herramientas siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''Java 7'''&lt;br /&gt;
* '''Maven'''&lt;br /&gt;
* '''Tomcat 7'''&lt;br /&gt;
* '''MySQL'''&lt;br /&gt;
* '''Git'''&lt;br /&gt;
* '''AngularJS'''&lt;br /&gt;
* '''CSS3'''&lt;br /&gt;
* '''HTML5'''&lt;br /&gt;
&lt;br /&gt;
=== Instalación de subsitema ===&lt;br /&gt;
&lt;br /&gt;
Para la instalación de nuestro subsistema se deberá:&lt;br /&gt;
*Descargar el proyecto desde nuestro repositorio de GitHub&lt;br /&gt;
*Crear en MySQL una base de datos de nombre egc-frontend y un usuario user-frontend y contraseña us4r-front4nd con permiso para todas las acciones en la base de datos creada. Puede usarse para ello el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
      START TRANSACTION;&lt;br /&gt;
      DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
      CREATE DATABASE `egc-frontend`;&lt;br /&gt;
      USE `egc-frontend`;&lt;br /&gt;
      GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
      COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crear war del proyecto haciendo uso de maven, para ello hay que dirigirse a la raiz del proyeto y usar el comando mvn war:war&lt;br /&gt;
*Desplegar el war creado en un servidor de aplicaciones como por ejemplo TOMCAT 7.&lt;br /&gt;
&lt;br /&gt;
=== Lecciones aprendidas ===&lt;br /&gt;
&lt;br /&gt;
Dado que en el proyecto del año pasado se usaba AngularJS, hemos aprendido nociones básicas sobre este framework MVC para poder añadir algunas mejoras en la visualización de los resultados.&lt;br /&gt;
Por otra parte hemos aprendido que Spring tool suit es un IDE muy versátil y como de usar ya que viene configurado directamente para trabajar con proyectos maven, gestionar código con git y trabajar con spring.&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Para la gestión del código se ha optado por Git y usaremos GitHub como servidor para alojar el código. A continuación se encuentra el enlace a nuestro repositorio de GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS-G2-1617/G28&lt;br /&gt;
&lt;br /&gt;
A continuación detallaremos aspectos relacionados con la gestión del código en nuestro trabajo como pueden ser el ''usage model'', gestión de las ramas, aplicación de cambios, asignación de roles y políticas de nombre y estilo del código fuente.&lt;br /&gt;
&lt;br /&gt;
==== Usage model y gestión de las ramas ====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
El modelo de uso que hemos seguido se basa en la creación de dos ramas principales, la rama ''master'' y la rama ''develop''.&lt;br /&gt;
&lt;br /&gt;
En la rama ''master'' se decidió tener las versiones estables de nuestro proyecto. Por otro lado, cuando queramos seguir desarrollando la aplicación lo vamos a hacer en la rama ''develop''. Esta rama será donde llevaremos todos los cambios que vayamos a implementar nuevos en la aplicación. Una vez que los cambios en la rama ''develop'' estén validados por nosotros y lo creamos conveniente, lo pasaremos a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
Por último, cada funcionalidad nueva se implementará en una rama local, las cuales no saldrán reflejadas, pero que están ahí. Una vez que terminemos una funcionalidad en un rama local, llamemos a la rama ''funcionalidad_1'', haremos una fusión (''merge'') con la rama ''develop'' y avisaremos de los cambios al equipo.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''branch'' y ''commit''.]]&lt;br /&gt;
&lt;br /&gt;
==== Aplicación de cambios y asignación de roles ====&lt;br /&gt;
&lt;br /&gt;
A la hora de aplicar cambios o nuevas funcionalidades siempre hemos actuado de la misma manera. Cuando teníamos en nuestra rama local el cambio o la funcionalidad terminada, nos cambiábamos a la rama ''develop'' y hacíamos un ''merge'' con la rama que implementaba esa funcionalidad. En este caso, el encargado de hacer el ''merge'' a la rama ''develop'' será, obviamente, el mismo que implementó esa funcionalidad. Una vez puesto en ''develop'' el nuevo cambio, se avisaba al grupo, y decidíamos si queríamos meter algún cambio más en ''develop'' o si simplemente queríamos realizar el ''push'' a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
No teníamos una persona encargada de realizar el ''push'' a la rama ''master'', simplemente se lo asignábamos al miembro del equipo que no lo había hecho hasta el momento, para que pudiera practicar con ''git''. Esto se eligió así para que todos pudiéramos tener la misma experiencia.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''merge'' y ''push''.]]&lt;br /&gt;
&lt;br /&gt;
==== Políticas de nombre y estilo del código fuente ====&lt;br /&gt;
&lt;br /&gt;
Para el nuevo código fuente implementado(sin contar el ya existente) se han intentado seguir las siguiente políticas de estilo para el código:&lt;br /&gt;
&lt;br /&gt;
* '''Nombres apropiados para las variables''': siempre hemos intentado usar nombres de variables para que no dificulten la lectura del código.&lt;br /&gt;
* '''Estilo de indentación más legible y espaciado para buena lectura del código'''.&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Todas las incidencias se deberán reportar en el apartado &amp;quot;Issues&amp;quot; de nuestro GitHub (https://github.com/AgoraUS-G2-1617/G28) y deberán de seguir el siguiente esquema:&lt;br /&gt;
&lt;br /&gt;
* Titulo: Titulo descriptivo del problema&lt;br /&gt;
* Descripción: Detalles del problema&lt;br /&gt;
* Modulo: Módulo en el cuál se encuentra el posible código erróneo.&lt;br /&gt;
* Fecha: Ultima fecha en el cuál se modifico el código en el que se encuentra el problema.&lt;br /&gt;
* Pasos: Los pasos que se deben de seguir para reproducir el mismo problema en otra maquina distinta.&lt;br /&gt;
* Salida esperada: La salida (si es que sale algo) que nos da al ejecutar el código&lt;br /&gt;
* Salida real: La salida que nos devuelve el sistema.&lt;br /&gt;
&lt;br /&gt;
El procedimiento a seguir para la creación y solución de incidencias será el siguiente:&lt;br /&gt;
La persona que encuentre algún problema en la aplicación será el responsable de crear la incidencia, una vez creada intentará resolverla, si no pudiera se lo comunicaría al grupo y se decidirá a que persona se le asignará dicha incidencia.&lt;br /&gt;
Una vez resuelto el problema otro miembro del grupo verificará que está resuelta y se cerrará la incidencia.&lt;br /&gt;
&lt;br /&gt;
== Subsistemas relacionados ==&lt;br /&gt;
&lt;br /&gt;
*Base de datos&lt;br /&gt;
&lt;br /&gt;
== Diario del equipo ==&lt;br /&gt;
&lt;br /&gt;
=== Actas ===&lt;br /&gt;
&lt;br /&gt;
* [[Acta 01 - Creación y presentación del grupo (11/11/2016)]]&lt;br /&gt;
* [[Acta 02 - Reunión de grupo (21/11/2016)]]&lt;br /&gt;
* [[Acta 03 - Reunión de grupo (06/12/2016)]]&lt;br /&gt;
* [[Acta 04 - Reunión de grupo (12/12/2016)]]&lt;br /&gt;
* [[Acta 05 - Reunión de grupo (27/12/2016)]]&lt;br /&gt;
* [[Acta 06 - Reunión de grupo (09/01/2017)]]&lt;br /&gt;
&lt;br /&gt;
=== Hoja de tiempos ===&lt;br /&gt;
&lt;br /&gt;
* [[Hoja de tiempos - Visualización y gestión de resultados - 2016-2017]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	<entry>
		<id>https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5583</id>
		<title>Visualización y Gestión de Resultados G28</title>
		<link rel="alternate" type="text/html" href="https://1984.lsi.us.es/wiki-egc/index.php?title=Visualizaci%C3%B3n_y_Gesti%C3%B3n_de_Resultados_G28&amp;diff=5583"/>
				<updated>2017-01-10T20:05:16Z</updated>
		
		<summary type="html">&lt;p&gt;Alemurrod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Miembros del equipo ==&lt;br /&gt;
&lt;br /&gt;
*[[Usuario:juacascor|Juan Antonio Castañeda Cortázar]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:alemurrod|Alejandro Murillo Rodríguez]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Coordinador - Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:abdche|Abdelkader Chellik]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
*[[Usuario:zaksah2|Zakaria Sahmoudi]] '''&amp;lt;font color=&amp;quot;#000000&amp;quot;&amp;gt;Ingeniero Software&amp;lt;/font&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
== Definición del proyecto ==&lt;br /&gt;
Este proyecto trata del desarrollo del subsistema de Agora@US &amp;quot;Visualización y gestión de resultados&amp;quot;. Nuestro grupo es el encargado de desarrollar el sistema de visualización, cuyo propósito es crear gráficas que muestren los resultados de las votaciones a partir de los datos obtenidos de los otros subsistemas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Código heredado ==&lt;br /&gt;
&lt;br /&gt;
A continuación ofrecemos el siguiente enlace donde se encuentra el código del proyecto heredado en la plataforma GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS1516/G10&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gestión de la comunicación ==&lt;br /&gt;
&lt;br /&gt;
Para la buena comunicación entre los miembros del grupo nos hemos basado en herramientas como:&lt;br /&gt;
* '''Telegram''': lo hemos usado para comunicaciones cortas&lt;br /&gt;
* '''Hangouts''': para realizar reuniones telemáticas y nos dimos cuenta que no era tan eficaz porque no se entendía muy bien cuando se ponen a hablar más de dos personas y también había problemas de conexión&lt;br /&gt;
* '''Reuniones presenciales''': para nosotros ha sido la mejor manera de comunicarnos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gestión de las tareas ==&lt;br /&gt;
Para la gestión de tareas al principio hemos usado las hojas de '''Excel de Google Drive''' para la creación de las tareas y la asignaciones de cada una mediante una tabla que lleva las tareas y el nombre de la persona encargada de hacerla y luego pensamos en hacerlo con '''Trello''' de manera que dividimos el estado de las tareas en cuatro estados. En un apartado tenemos definidas todas las tareas que tiene que hacer cada uno, asignándola a cada miembro del grupo gracias a que Trello nos permite asignar tareas a miembros del grupo y también asignar la persona que se encargara de verificar la tarea, y cuando se empieza a trabajar sobre una tarea el miembro encargado lo pasa al estado &amp;quot;In progress&amp;quot; y cuando se termina de hacer la tarea lo pasa al estado &amp;quot;Verification&amp;quot; para que el miembro asignado a verificarla lo verifica y la pasa al estado &amp;quot;Done&amp;quot; y por últimos teníamos un apartado de enlaces útiles donde se pone informaciones útiles para la realización de las tareas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Entorno de desarrollo ==&lt;br /&gt;
&lt;br /&gt;
=== Tecnologías y herramientas ===&lt;br /&gt;
&lt;br /&gt;
El equipo de trabajo decidió usar como IDE '''Spring Tool Suite''' y hacer uso de las tecnologías y herramientas siguientes:&lt;br /&gt;
&lt;br /&gt;
* '''Java 7'''&lt;br /&gt;
* '''Maven'''&lt;br /&gt;
* '''Tomcat 7'''&lt;br /&gt;
* '''MySQL'''&lt;br /&gt;
* '''Git'''&lt;br /&gt;
* '''AngularJS'''&lt;br /&gt;
* '''CSS3'''&lt;br /&gt;
* '''HTML5'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Instalación de subsitema ===&lt;br /&gt;
&lt;br /&gt;
Para la instalación de nuestro subsistema se deberá:&lt;br /&gt;
*Descargar el proyecto desde nuestro repositorio de GitHub&lt;br /&gt;
*Crear en MySQL una base de datos de nombre egc-frontend y un usuario user-frontend y contraseña us4r-front4nd con permiso para todas las acciones en la base de datos creada. Puede usarse para ello el siguiente código:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
      START TRANSACTION;&lt;br /&gt;
      DROP DATABASE IF EXISTS `egc-frontend`;&lt;br /&gt;
      CREATE DATABASE `egc-frontend`;&lt;br /&gt;
      USE `egc-frontend`;&lt;br /&gt;
      GRANT ALL ON `egc-frontend`.* TO 'user-frontend'@'localhost' IDENTIFIED BY 'us4r-front4nd';&lt;br /&gt;
      COMMIT;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crear war del proyecto haciendo uso de maven, para ello hay que dirigirse a la raiz del proyeto y usar el comando mvn war:war&lt;br /&gt;
*Desplegar el war creado en un servidor de aplicaciones como por ejemplo TOMCAT 7.&lt;br /&gt;
&lt;br /&gt;
=== Lecciones aprendidas ===&lt;br /&gt;
&lt;br /&gt;
Dado que en el proyecto del año pasado se usaba AngularJS, hemos aprendido nociones básicas sobre este framework MVC para poder añadir algunas mejoras en la visualización de los resultados.&lt;br /&gt;
Por otra parte hemos aprendido que Spring tool suit es un IDE muy versátil y como de usar ya que viene configurado directamente para trabajar con proyectos maven, gestionar código con git y trabajar con spring.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gestión del código ==&lt;br /&gt;
&lt;br /&gt;
Para la gestión del código se ha optado por Git y usaremos GitHub como servidor para alojar el código. A continuación se encuentra el enlace a nuestro repositorio de GitHub:&lt;br /&gt;
&lt;br /&gt;
* https://github.com/AgoraUS-G2-1617/G28&lt;br /&gt;
&lt;br /&gt;
A continuación detallaremos aspectos relacionados con la gestión del código en nuestro trabajo como pueden ser el ''usage model'', gestión de las ramas, aplicación de cambios, asignación de roles y políticas de nombre y estilo del código fuente.&lt;br /&gt;
&lt;br /&gt;
==== Usage model y gestión de las ramas ====&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Usage model G28.png|thumb|alt=Alt|Usage model|upright=3]]&lt;br /&gt;
&lt;br /&gt;
El modelo de uso que hemos seguido se basa en la creación de dos ramas principales, la rama ''master'' y la rama ''develop''.&lt;br /&gt;
&lt;br /&gt;
En la rama ''master'' se decidió tener las versiones estables de nuestro proyecto. Por otro lado, cuando queramos seguir desarrollando la aplicación lo vamos a hacer en la rama ''develop''. Esta rama será donde llevaremos todos los cambios que vayamos a implementar nuevos en la aplicación. Una vez que los cambios en la rama ''develop'' estén validados por nosotros y lo creamos conveniente, lo pasaremos a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
Por último, cada funcionalidad nueva se implementará en una rama local, las cuales no saldrán reflejadas, pero que están ahí. Una vez que terminemos una funcionalidad en un rama local, llamemos a la rama ''funcionalidad_1'', haremos una fusión (''merge'') con la rama ''develop'' y avisaremos de los cambios al equipo.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''branch'' y ''commit''.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Aplicación de cambios y asignación de roles ====&lt;br /&gt;
&lt;br /&gt;
A la hora de aplicar cambios o nuevas funcionalidades siempre hemos actuado de la misma manera. Cuando teníamos en nuestra rama local el cambio o la funcionalidad terminada, nos cambiábamos a la rama ''develop'' y hacíamos un ''merge'' con la rama que implementaba esa funcionalidad. En este caso, el encargado de hacer el ''merge'' a la rama ''develop'' será, obviamente, el mismo que implementó esa funcionalidad. Una vez puesto en ''develop'' el nuevo cambio, se avisaba al grupo, y decidíamos si queríamos meter algún cambio más en ''develop'' o si simplemente queríamos realizar el ''push'' a la rama ''master''.&lt;br /&gt;
&lt;br /&gt;
No teníamos una persona encargada de realizar el ''push'' a la rama ''master'', simplemente se lo asignábamos al miembro del equipo que no lo había hecho hasta el momento, para que pudiera practicar con ''git''. Esto se eligió así para que todos pudiéramos tener la misma experiencia.&lt;br /&gt;
&lt;br /&gt;
* [[Caso práctico: ''merge'' y ''push''.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Políticas de nombre y estilo del código fuente ====&lt;br /&gt;
&lt;br /&gt;
Para el nuevo código fuente implementado(sin contar el ya existente) se han intentado seguir las siguiente políticas de estilo para el código:&lt;br /&gt;
&lt;br /&gt;
* '''Nombres apropiados para las variables''': siempre hemos intentado usar nombres de variables para que no dificulten la lectura del código.&lt;br /&gt;
* '''Estilo de indentación más legible y espaciado para buena lectura del código'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gestión de incidencias ==&lt;br /&gt;
&lt;br /&gt;
Todas las incidencias se deberán reportar en el apartado &amp;quot;Issues&amp;quot; de nuestro GitHub (https://github.com/AgoraUS-G2-1617/G28) y deberán de seguir el siguiente esquema:&lt;br /&gt;
&lt;br /&gt;
* Titulo: Titulo descriptivo del problema&lt;br /&gt;
* Descripción: Detalles del problema&lt;br /&gt;
* Modulo: Módulo en el cuál se encuentra el posible código erróneo.&lt;br /&gt;
* Fecha: Ultima fecha en el cuál se modifico el código en el que se encuentra el problema.&lt;br /&gt;
* Pasos: Los pasos que se deben de seguir para reproducir el mismo problema en otra maquina distinta.&lt;br /&gt;
* Salida esperada: La salida (si es que sale algo) que nos da al ejecutar el código&lt;br /&gt;
* Salida real: La salida que nos devuelve el sistema.&lt;br /&gt;
&lt;br /&gt;
El procedimiento a seguir para la creación y solución de incidencias será el siguiente:&lt;br /&gt;
La persona que encuentre algún problema en la aplicación será el responsable de crear la incidencia, una vez creada intentará resolverla, si no pudiera se lo comunicaría al grupo y se decidirá a que persona se le asignará dicha incidencia.&lt;br /&gt;
Una vez resuelto el problema otro miembro del grupo verificará que está resuelta y se cerrará la incidencia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Subsistemas relacionados ==&lt;br /&gt;
&lt;br /&gt;
*Base de datos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Diario del equipo ==&lt;br /&gt;
&lt;br /&gt;
=== Actas ===&lt;br /&gt;
&lt;br /&gt;
* [[Acta 01 - Creación y presentación del grupo (11/11/2016)]]&lt;br /&gt;
* [[Acta 02 - Reunión de grupo (21/11/2016)]]&lt;br /&gt;
* [[Acta 03 - Reunión de grupo (06/12/2016)]]&lt;br /&gt;
* [[Acta 04 - Reunión de grupo (12/12/2016)]]&lt;br /&gt;
* [[Acta 05 - Reunión de grupo (27/12/2016)]]&lt;br /&gt;
* [[Acta 06 - Reunión de grupo (09/01/2017)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Hoja de tiempos ===&lt;br /&gt;
&lt;br /&gt;
* [[Hoja de tiempos - Visualización y gestión de resultados - 2016-2017]]&lt;/div&gt;</summary>
		<author><name>Alemurrod</name></author>	</entry>

	</feed>