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
- Following command builds the JAR file and also generates the Docker image for all CPS components:
mvn clean install -Pcps-docker -Pncmp-docker -Pcps-ncmp-docker
- Following command builds the JAR file and generates the Docker image for specified CPS component:
(with
<docker-profile>
being one ofcps-docker
,ncmp-docker
orcps-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.
- Edit
docker-compose.yml
- uncomment desired service to be deployed, by default
cps-and-ncmp
is enabled. You can comment it and uncommentcps-standalone
orncmp-standalone
. - To send data-updated events to kafka,
- uncomment the
zookeeper
andkafka
services. - uncomment environment variables
KAFKA_BOOTSTRAP_SERVER: kafka:9092
- uncomment the
- uncomment desired service to be deployed, by default
- Execute following command from
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:
- Enable the desired maven profile form Maven Tool Window
- Run a configuration from
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 !