Coder Social home page Coder Social logo

haritha-06 / deors-demos-petclinic Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deors/deors-demos-petclinic

0.0 0.0 0.0 561 KB

The 'classic' Spring Pet Clinic application, updated to work with Tomcat 7+ and Spring 3, with exemplar lifecycle automation configuration

Java 70.50% HTML 27.19% CSS 1.32% Batchfile 0.31% Dockerfile 0.07% Shell 0.55% Procfile 0.05%

deors-demos-petclinic's Introduction

deors-demos-petclinic

The 'classic' Spring Pet Clinic application, updated to work with Tomcat 7+ and Spring 3, with exemplar lifecycle automation configuration.

This fork includes:

  • Packaging as a Docker image.
  • Pipeline as code with Jenkins.
  • Maven profiles and configuration to provision local test environments with Cargo and multiple target containers: Tomcat, WildFly and Jetty.
  • Maven profiles and configuration for deployment to OpenShift and Heroku.
  • Docker image lifecycle with Spotify Maven plug-in.
  • Surefire configured to gather test coverage per test with SonarQube and JaCoCo.
  • Mutation tests with Pitest.
  • Integration tests with Selenium, which can be executed either manually or via Failsafe. A Maven profile is also provided to show how these tests can be binded into the Maven lifecycle during verify.
  • Integration test coverage with JaCoCo.
  • Load tests with JMeter. A Maven profile is also provided to show how these tests can be binded into the Maven lifecycle during verify.
  • Dependency vulnerability scan with OWASP Dependency Check.
  • Quality analysis with SonarQube, including gathering results from the other tools.

Set up in Jenkins

The continuous integration pipeline requires that a credential with id deors-docker-hub is configured in Jenkins. The deors prefix in the credential id refers to the deors org namespace which is targeted to push Docker images to Docker Hub.

Useful scripts

The folder src/scripts contains several useful scripts to build and test the application locally:

  • jacocodump-test-container: Connects to an already running application and dumps code coverage information being gathered by JaCoCo.
  • mvn-package: Compiles, run unit tests and package the application.
  • mvn-verify-cargo: Runs the application using Cargo and and embedded Tomcat runtime, and runs Selenium integration tests and JMeter performance tests.
  • mvn-verify-heroku: Runs Selenium integration tests and JMeter performance tests on the application deployed to Heroku.
  • mvn-verify-heroku: Runs Selenium integration tests and JMeter performance tests on the application deployed to Heroku.
  • mvn-verify-local: Runs Selenium integration tests and JMeter performance tests on the application running locally (e.g. from IDE, from CLI with Cargo, as a Docker container, manually by any other means)
  • mvn-verify-openshift: Runs Selenium integration tests and JMeter performance tests on the application deployed to OpenShift Online.
  • run-test-container: Runs the application as a Docker container.
  • ssh-test-container: Connects to an already running application container via SSH.
  • stop-test-container: Stops (and removes) an already running application container.

deors-demos-petclinic's People

Contributors

deors avatar vicente-gonzalez avatar haritha-06 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.