The sample Jave app built with Jakarta RESTful Web Services is designed to demonstrate a typical Java and Maven 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 build-and-test
which will install our required maven packages, and then run tests with mvn test
.
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.
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.
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
TODO
The .circleci/extended/aws-ecr.yml
configuration file extends the default config by adding a sample job.
This sample application is a Jakarta RESTful Web Service written in Java, and utilizes the Jersey framework which allows us build and run the service from an OpenAPI/Swagger specification.
When you start up the service, you can open this page in your browser to view the openapi specification. This framework does not serve the swagger UI.
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 |
If you would like to try this application out locally, you can find runtime instructions below.
Java 8
To run the server on a Docker container, please execute the following from the root directory:
# building the image
docker build -t sample-jaxrs .
# starting up a container
docker run -p 8080:8080 sample-jaxrs
If not using docker, to run the server, please execute the following from the root directory:
mvn clean package jetty:run
To launch the integration tests, use mvn
:
mvn test
- 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.
This repository is licensed under the MIT license. The license can be found here.