The Dockerfile includes multi-stage builds to optimize the final image size and includes only the necessary runtime components.
- Make sure Docker and Docker Compose are installed on your system
- The development environment requires Java 17 or higher, and gradle 8.3 or higher
- Access to the artifact.exalate.com to download some artifacts
- All configuration can be overridden using environment variables
- Define the exalate cloud prefix. Something like
discoursenode
- Clone the repository
- Configure environment variables by creating a
.envfile in the ccnode directory. A sample .env file is provided (env_sample) - Configure Gradle properties by creating/updating
gradle.propertiesfile in the root folder, a sample has been provided. - Run a gradle clean build to validate all is setup correctly. The tests must succeed
- Make sure that the ccnode container image is available. It can be build by using
cd <rootdir>
docker buildx build --platform linux/amd64,linux/arm64 \
-t ccnode:<sometag> \
-f ccnode/Dockerfile --load ccnode
You should now have a fully functional development environment, allowing you to create testcases, make them green. Debug, autocomplete and all that jazz must be available
- cd to the ccnode folder
- execute
docker compose up -d databaseto start the database. - access the database using
docker exec -it ccnode_database_1 psql -U exalate ccnode - update the lifecycle_info to skip the registration
update lifecycle_info set is_eula_accepted = 't', verified = 't' where id = 1;
- execute
docker compose up -d ccnodeto start the application - access the application using
http://localhost:9002 - The userid and password are set in the .env as 'TRACKER_USER' and 'TRACKER_PASSWORD'
- Logging can be found in the ccnode/persist/home/logs folder
- The application can be stopped using `docker compose stop ccnode'
- The application can be debugged by setting up a remote debug configuration in your IDE.
- The application listens on port 5005 for debugging
- cd to the root folder
- check Dockerfile and adapt to your needs
- execute
docker build -t <prefix>:<version> .to build the image - publish it to your registry.