Following command builds all Java components to cps-application/target/cps-application-x.y.z-SNAPSHOT.jar
JAR file without generating any docker images:
mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker -Djib.skip
mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker
<docker-profile>
being one of cps-docker
, ncmp-docker
or cps-ncmp-docker
):mvn clean install -P<docker-profile>
docker-compose/docker-compose.yml
file is provided to be run with docker-compose
tool and images previously built. It starts both Postgres database and CPS services.
docker-compose.yml
cps-and-ncmp
is enabled. You can comment it and uncomment cps-standalone
or ncmp-standalone
.zookeeper
and kafka
services.KAFKA_BOOTSTRAP_SERVER: kafka:9092
docker-compose
folder:Use one of the below version type that has been generated in the local system's docker image list after the build.
VERSION=latest DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d or VERSION=<version> DB_USERNAME=cps DB_PASSWORD=cps docker-compose up -d
Before running CPS, a Postgres database instance needs to be started. This can be done with following command:
docker run --name postgres -p 5432:5432 -d \ -e POSTGRES_DB=cpsdb -e POSTGRES_USER=cps -e POSTGRES_PASSWORD=cps \ postgres:12.4-alpine
Then CPS can be started either using a Java Archive previously built or directly from Intellij IDE.
Following command starts the application using JAR file:
DB_HOST=localhost DB_USERNAME=cps DB_PASSWORD=cps CPS_USERNAME=cpsuser CPS_PASSWORD=cpsr0cks! \ DMI_USERNAME=cpsuser DMI_PASSWORD=cpsr0cks! \ java -jar cps-application/target/cps-application-x.y.z-SNAPSHOT.jar
Here are the steps to run or debug the application from Intellij:
Run -> Edit configurations
with following settings:Environment variables
: DB_HOST=localhost;DB_USERNAME=cps;DB_PASSWORD=cps CPS_USERNAME=cpsuser CPS_PASSWORD=cpsr0cks! DMI_USERNAME=cpsuser DMI_PASSWORD=cpsr0cks!
Swagger UI and Open API specifications are available to discover service endpoints and send requests.
http://localhost:<port-number>/swagger-ui.html
http://localhost:<port-number>/api-docs/cps-core/openapi.yaml
http://localhost:<port-number>/api-docs/cps-ncmp/openapi.yaml
http://localhost:<port-number>/api-docs/cps-ncmp/openapi-inventory.yaml
with being either 8080
if running the plain Java build or retrieved using following command if running from docker-compose
:
docker inspect \ --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' \ <cps-docker-container>
Enjoy CPS !