Coder Social home page Coder Social logo

protobootapp's Introduction

ProtoBootApp: Aplicación de Demo de Pipeline CI/CD

Java CI Demo in GitHub Actions

Descripción

Esta es una aplicación de demostración en Java que muestra un punto de conexión "Hola" y otros para mostrar un proceso de integración continua a través de diferentes proveedores como AWS CodeBuild (con el archivo buildspec.yml), Github Actions (con el directorio .github/workflows) y pronto también en Jenkins de manera local, construyendo en la sesión un Jenkinsfile .

Registro de cambios después del fork al proyecto original

Commit ID Tipo Descripción
63d72d3 docs Update README with new title and adding Workflow Status Badge
e060134 test Disable 'mvn test' command
17bf152 test Revert changes in code coverage limit
a22faa9 chore Add Spring Boot Actuator features
4430d84 test Revert changes in failing tests
d9fbb43 ci Change java runtime to corretto17 for CodeBuild stage
fd5095e refactor Rename controller methods
b567c26 ci Update workflow to use actions to v4 and better presentation
225f978 test Update assertions to ignore localization
4e45a18 docs Update README, adding Dependencies and Build steps included in POM file
04d56be ci Update table start line number and fix previous auto-update in README
78e28bc ci Change pipeline to automatically update the README file
544900c docs Update the changelog to be based on commits' titles
74086bd docs Add basic README file to introduce the project
e596df0 mix Add several changes to code base
bc637cb docs add detailed documentation for each method
e60be6d refactor Rename methods to use more descriptive names
18b9490 feat Add explicit port configuration

Características

  • Tres endpoints /hola, /cuadrado y /cubo, con las funcionalidades del app
  • Una clase de servicio Calculadora.java que tiene la lógica principal
  • Pruebas unitarias creadas para los servicios de la calculadora

Instalación

  1. Realizar un fork de este repositorio y clonarlo a tu máquina.
  2. Instalar dependencias: mvn clean install -U

Uso

  1. Ejecutar la aplicación: En tu IDE haz clic en el ícono de ejecutar. En la mayoría de IDEs, CTRL + F5 también ejecutan la aplicación
  2. Abrir el navegador y navegar a http://localhost:8081 o, el puerto que esté definido en la propiedad server.port del archivo src/main/resources/application.properties

Test de ejecución en Jenkins con webhook

Agregamos cambios para realizar las pruebas del webhook...

Configuración del Proyecto - POM.xml

El archivo pom.xml es el núcleo de cualquier proyecto Maven. Incluye los detalles de configuración sobre el proyecto y sus dependencies.

Dependencias

La sección de dependencias en el archivo pom.xml es donde especificamos las bibliotecas externas que nuestro proyecto necesita. Cada dependencia se especifica con su groupId, artifactId y version. Maven descarga y vincula automáticamente estas bibliotecas desde el Repositorio Central de Maven.

Las dependencias en este proyecto son:

  • spring-boot-starter-web: Proporciona todas las bibliotecas necesarias para desarrollar aplicaciones web.
  • spring-boot-starter-actuator: Proporciona características de producción listas para usar, como métricas y monitoreo de la salud de la aplicación.
  • spring-boot-starter-test: Proporciona las bibliotecas necesarias para probar la aplicación.

Herramientas y Pasos de Construcción

En la sección de construcción, definimos los plugins que se utilizarán durante el ciclo de vida de construcción de Maven. Algunos de los plugins utilizados en este proyecto son:

  • maven-checkstyle-plugin: Realiza la validación de estilo de código utilizando la configuración especificada en google_checks.xml.
  • jacoco-maven-plugin: Proporciona la funcionalidad de cobertura de código. Configurado para fallar si la cobertura de código es menor al 70%.
  • spotbugs-maven-plugin y findsecbugs-plugin: Realizan análisis estático de código para encontrar posibles errores y vulnerabilidades de seguridad.
  • maven-pmd-plugin: Realiza análisis de código para encontrar posibles problemas como código muerto, código duplicado, convenciones de nomenclatura, etc.
  • spring-boot-maven-plugin: Proporciona funcionalidades para construir y ejecutar aplicaciones Spring Boot.

Para más detalles, por favor refiérase al archivo pom.xml en la raíz del proyecto.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

Créditos

Este proyecto es un fork del repositorio original de León Jaramillo

protobootapp's People

Contributors

ayalamac avatar actions-user avatar leonjaramillo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.