- Java 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github/workflows | ||
| .mvn | ||
| .run | ||
| docker | ||
| src | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| exclude-patterns.txt | ||
| LICENSE | ||
| mvnw | ||
| pom.xml | ||
| publiccode.yml | ||
| README.md | ||
| SECURITY.md | ||
| THIRD-PARTY-LICENSES.md | ||
JME DeploymentLog Example
This example project shows how to assemble a runnable deployment-log service using the
jeap-deploymentlog-service-instance starter.
The starter contains all the necessary components (REST API, persistence, security) to set up a deployment-log
service instance; this project wires it up with a minimal pom.xml/configuration and a PostgreSQL database,
without any custom application code of its own.
What this example demonstrates
A deployment log records, per system and environment, which component version was deployed, when, by whom, and which artifact was used — used to answer "what is running where" questions. This example shows the minimal setup needed to run such a service:
- Depending on
jeap-deploymentlog-service-instanceto get the deployment-log REST API and persistence out of the box. application.ymlconfiguring the service name, database schema, and enabling Swagger.- A PostgreSQL database provisioned via
docker/docker-compose.yml. - An integration test (
DeploymentLogExampleIT) that starts the service and exercises its API end to end: registering a new deployment viaPUT /api/deployment/{id}(with basic-authwritecredentials), then reading it back viaGET /api/deployment/{id}(with basic-authreadcredentials).
Changes
This library is versioned using Semantic Versioning and all changes are documented in CHANGELOG.md following the format defined in Keep a Changelog.
Prerequisites
To use this project, ensure you have the following installed:
- Java Development Kit (JDK): Version 25.
- Docker: For running the required infrastructure.
Note: Use the provided maven wrapper to build and run the project.
Getting started
Infrastructure
Before the examples can be started the infrastructure has to be started using docker. This starts the PostgreSQL database the deployment-log service persists its data to:
docker-compose -f docker/docker-compose.yml up
Build
The project itself can be built with a simple
./mvnw install
Start
Then the project can be started using
./mvnw spring-boot:run -Dspring-boot.run.profiles=local
Trying it out
Once the application is running, open the Swagger UI at
http://localhost:8080/jme-deploymentlog-service/swagger-ui.html
to explore the deployment-log API — registering a deployment (PUT /api/deployment/{id}) requires basic-auth
credentials with a write role, reading one back (GET /api/deployment/{id}) requires a read role. See
DeploymentLogExampleIT for a runnable end-to-end example of both calls.
Profiles
- application-local: Contains all configurations for running the application locally.
Note
This repository is part of the open source distribution of JME. See github.com/jme-admin-ch/jme for more information.
License
This repository is Open Source Software licensed under the Apache License 2.0.