Sample Java App - Spring Boot Server
Description
This sample java spring boot app here is designed to demonstrate what a typical java CI workflow may look on CircleCI.
You can see the CI pipelines for this application running live on CircleCI.
In this sample config, we have a single workflow verify which will install and cache our required java libraries, and then run the mvn verify command. This config makes use of the Maven orb and Postgres orb, packages for CircleCI's config language, which makes writing our config shorter, and easier.
Getting Started
If you would like to copy the config.yml and adapt it to your project, be sure to read the comments in the config file to ensure it works for your project. For more details, see the CircleCI configuration reference.~~~~
Addtional Sample Configuration Files
Inside the .circleci directory, you will find an extended directory that extends the configuration beyond the default .circleci/config.yml. These configuration files are tested with every pull request to this sample app, so they stay up to date and verified working.
Heroku Deploy
The .circleci/extended/heroku-deploy.yml configuration file extends the default config by adding a job to deploy to heroku via a git push. For more information on how to configure this for your own project, visit the CircleCI docs for more details
About This App
This sample application is a spring boot~~~~ REST server written in java, and utilizes the connexion framework which allows us build and run the service from an OpenAPI/Swagger specification.
Continuous Food Delivery
When you start up the service, you can open this page in your browser to view the available API endpoints.
Front-End
CFD(Continuous Food Delivery) is a sample application that relies on a separate UI framework. If you would like to run this project locally with a complete UI, you can use a valid CFD front-end, such as one of the following sample projects:
| Language | GitHub | Description |
|---|---|---|
| Javascript (Vue.js) | Link | A Javascript Front-End for CFD |
Run and Test Locally
If you would like to try this application out locally, you can find runtime instructions below.
Requirements
Java 11~~~~+ OR Docker
Run Local Server
To run the server on a Docker container, please execute the following from the root directory:
docker-compose up --build
If not using docker, to run the server, please execute the following from the root directory:
./mvnw package
java -jar target/sample-java-cfd-0.0.1-SNAPSHOT.jar
Tests
To launch the unit tests, use pytest:
Additional Resources
- CircleCI Docs - The official CircleCI Documentation website.
- CircleCI Configuration Reference - From CircleCI Docs, the configuration reference page is one of the most useful pages we have.
License
This repository is licensed under the MIT license. The license can be found here.
