Skip to content

Simple Spring Boot project for use in a Continous Delivery Pipeline.

Notifications You must be signed in to change notification settings

xjussix/doodleshop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Doodleshop Continuous Delivery Demo Application

Features:

  • Spring Boot runnable application with embedded Tomcat and deployable war
  • Spring Boot Actuator with production grade services
  • Automatic versioning in MANIFEST.MF and in resource /appversion read from build pipeline environment variable
  • Environment detection using environment variable se.caglabs.doodleshop.environment
  • Environment specific configuration and log configuration using Spring profiles (application.yaml)
  • Centralized logging with Logstash and rolling file logging
  • Integration tests
  • Flyway DB setup and migration
  • Database H2, embedded if not specified external in application.yaml

Build

$ mvn install

Run Integration tests

$ mvn -Pint-test verify

Run

$ java -jar doodleshop.war

For specific environment, specify:

$ java -Dse.caglabs.doodleshop.environment=man -jar doodleshop.war

where se.caglabs.doodleshop.environment is (local | autosmall | autolarge | man | prod)

Test

The application has a few simple endpoints where you can store and read Doodles.

Create a doodle: $ curl -H "Content-Type: application/json" -X POST -d '{"author":"Hoomer","message":"Ummm..."}' http://localhost:8080/doodles

Read created doodles: $ curl http://localhost:8080/doodles?author=Homer

Have fun, Daniel Marell

About

Simple Spring Boot project for use in a Continous Delivery Pipeline.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 89.0%
  • Shell 10.0%
  • HTML 1.0%