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 -Pxnf-docker -Pcps-xnf-docker -Djib.skip
mvn clean install -Pcps-docker -Pxnf-docker -Pcps-xnf-docker -Dnexus.repository=
<docker-profile>
being one of cps-docker
, xnf-docker
or cps-xnf-docker
):mvn clean install -P<docker-profile> -Dnexus.repository=
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
and uncomment desired service to be deployed, by default cps-and-nf-proxy
is enabled. You can comment it and uncomment cps-standalone
or nf-proxy-standalone
.docker-compose
folder:VERSION=x.y.z-SNAPSHOT DB_HOST=dbpostgresql 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 \ java -classpath cps-application/target/cps-application-x.y.z-SNAPSHOT.jar:docker-compose \ org.springframework.boot.loader.JarLauncher
Here are the steps to run or debug the application from Intellij:
Run -> Edit configurations
with following settings:Working directory
: docker-compose folder, e.g. $ProjectFileDir$/docker-compose
Environment variables
: DB_HOST=localhost;DB_USERNAME=cps;DB_PASSWORD=cps
Swagger UI and Open API specifications are available to discover service endpoints and send requests.
http://localhost:<port-number>/swagger-ui/index.html
http://localhost:<port-number>/v3/api-docs?group=cps-docket
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 !