dc.contributor.advisor | Román Martínez, Isabel | es |
dc.creator | Gómez Bellido, Francisco Javier | es |
dc.date.accessioned | 2020-09-22T17:26:12Z | |
dc.date.available | 2020-09-22T17:26:12Z | |
dc.date.issued | 2020 | |
dc.identifier.citation | Gómez Bellido, F.J. (2020). Diseño y configuración de un entorno para la práctica con entrega continua. (Trabajo Fin de Grado Inédito). Universidad de Sevilla, Sevilla. | |
dc.identifier.uri | https://hdl.handle.net/11441/101414 | |
dc.description.abstract | El uso de nuevas metodologías para la gestión de proyectos software, conocidas como metodologías
‘ágiles’se encuentran en auge hoy en día. Empresas punteras en el sector TIC como Google, Facebook o
Spotify llevan a cabo el desarrollo de sus productos siguiendo metodologías de este tipo. En el Grado de
Ingeniería de las Tecnologías de Telecomunicación numerosos estudiantes continuan su carrera profesional
dedicándose al desarrollo software, por esta razón aquí se realiza una revisión teórica de las tecnologías
que permiten llevar a cabo un desarrollo ágil y además la preparación de una práctica para la asignatura
‘Ingeniería de Software’que ofrezca a los alumnos una visión práctica sobre qué son las metodologías ágiles
y cómo llevarlas a cabo a la hora de desarrollar. El entorno preparado para esta práctica puede ser de gran
utilidad en otras prácticas de la asignatura u otras asignaturas relacionadas con ‘DevOps’.
La realización de la práctica se desarrolla en un entorno, preparado en este proyecto, en el que los alumnos
podrán llevar a cabo un desarrollo ágil, modificar el código, ejecutar pruebas automatizadas y desplegar
los cambios en un nuevo entorno de pruebas con solo crear una petición de integración. Para ello, se ha
partido de una aplicación web desarrollada en Java previamente por un alumno en su trabajo fin de grado
[19]. Sobre esta aplicación se han desarrollado pruebas unitarias automatizadas y se ha configurado
el proyecto para ser gestionado con Apache Maven, tecnología de la que se habla en la revisión teórica
realizada en este trabajo. Posteriormente se han configurado dos servidores: Tomcat, para poder desplegar
la aplicación, y Gitlab que será el encargado de almacenar los repositorios de la práctica y permitir la
ejecución de tareas automatizadas sobre el proyecto, para que cuando se cree una petición de integración, se
ejecuten las pruebas y se desplieguen los cambios sobre el entorno de pruebas. Además se ha realizado la
puesta en marcha de un servicio que realiza copias de seguridad periódicas sobre Gitlab y un script en el que
mediante Rake Tasks se borran los datos del servidor e inicializa lo necesario para la realización de la práctica.
La práctica busca que los alumnos desarrollen modificaciones sobre el código de la aplicación, para ello
deberán crear la tarea equivalente a un requisito dado, realizar los cambios necesarios sobre el repositorio,
crear una petición de integración e integrar los cambios en la rama principal de desarrollo.
Los alumnos podrán trabajar de forma directa con las metodologías y conceptos que se trabajan en la
revisión teórica y aprender cómo funcionan, para que puedan aplicarlos en su futuro profesional. | es |
dc.description.abstract | Nowadays the usage of some new methodologies to manage projects is increasing, they are known as
agile methodologies. Some of the most important technology companies as Google, Facebook, Spotify are
using an agile methodology in the development of their products. In the Telecommunications Engineering
bachelor’s degree, there is a high number of students who will continue his career developing software, for
that reason in this project has a theoretical review of some of the technologies useful to do agile development
and a practice for the ‘Ingeniería de Software’subject which will help the students to learn what are the agile
methodologies and how it can be used for development, the developed environment could be useful for other
practices from that subject or any other subject related with ‘DevOps’.
For the practice it has been made an environment where the students can do agile development, they could
modify the code, run automated tests and deploy the changes to the test environment just creating a merge
request. To do that, it has been based on a web application developed previously by a student for his thesis
using Java, this application is focused to teach. Over this application, it has been made automated tests and it
has been configured to be managed using Apache Maven, which has been reviewed in the theoretical review
of this project. After that the Tomcat server has been configured to be able to deploy the application and the
Gitlab server to store the repositories of the practice and it will allow the students to run automated tasks in
the project which will allow to run the tests and deploy the application to a test environment when a merge
request is created. Furthermore a service to create Gitlab backups periodically has been configured and the
creation of a script that uses Rake Tasks to erase the data from the server and it initialize the necessary data
for the realization of the practice.
The practice requires the students to make some changes to the application, the students so they should
create the corresponding task for a specific requirement, they should make the changes to the code, create a
merge request and merge those changes into the principal development branch.
The students will be able to work directly using the methodologies and concepts which have been worked
in the theoretical review and they will learn how it works so they will be able to use them in their career. | es |
dc.format | application/pdf | es |
dc.format.extent | 182 | es |
dc.language.iso | spa | es |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 Internacional | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.title | Diseño y configuración de un entorno para la práctica con entrega continua | es |
dc.type | info:eu-repo/semantics/bachelorThesis | es |
dc.type.version | info:eu-repo/semantics/publishedVersion | es |
dc.rights.accessRights | info:eu-repo/semantics/openAccess | es |
dc.contributor.affiliation | Universidad de Sevilla. Departamento de Ingeniería Telemática | es |
dc.description.degree | Universidad de Sevilla. Grado en Ingeniería de Tecnologías de Telecomunicación | es |
dc.publication.endPage | 166 p. | es |