We use Apache Maven as the build tool of choice.
gitbook to build the documentation.
Kapua is being compiled with Maven.
In order to perform a full build of Kapua first you have to build the external resources of Kapua with the following command in the root of the Git repository:
mvn clean install -f external/pom.xml
Than you can run the Kapua full build issuing the command:
mvn clean install
Don't forget to also add the
console Maven profile if you are interested in building the Web Console as well:
mvn clean install -Pconsole
If you only want to run Kapua locally for testing you can speed up the build by using:
mvn clean install -Pdev -DskipTests=true
Again, add the
console profile as well if needed:
mvn clean install -Pdev,console -DskipTests=true
Before you can build documentation, you need to install
To install gitbook run
$ npm install -g gitbook-cli
If you don't have
npm installed then you would need to install it first.
Install npm On Fedora
$ yum install npm
Install npm On Fedora 24
This is what you should do if you are using Fedora 24+.
$ dnf install nodejs
Install npm On Mac-OS
The easiest way would be through brew brew
You first install brew using the instructions on the Brew website.
After you installed brew you can install npm by:
brew install npm
Building the docs
To build documentation, run
gitbook build from either
Kapua is running CI builds against two public environments:
Please be sure that both environments are "green" (i.e. all tests pass) after you commit any changes into
We also use CI server sponsored by Red Hat to automatically push latest Docker images to Kapua DockerHub account. Red Hat CI server checks for code changes every 15 minutes and pushes updated version of images if needed.
Kapua Docker images are hosted under Kapua DockerHub account. The latest snapshots of images are updated every 15 minutes.
In order to build Kapua Docker images yourself, execute Maven build with
docker profile enabled:
mvn clean install -Pdocker
Just like building Kapua from the source code, also add the
console profile to generate the Web Console docker image:
mvn clean install -Pdocker,console
If you want to speed up the build process you can ask Maven to ignore
force it to use only locally present artifacts with the
dev profile. You can also skip unit tests to speed things even more.
mvn clean install -Pdocker,dev -DskipTests
Again, don't forget the
console profile if the Web Console image is needed:
mvn clean install -Pdocker,dev,console -DskipTests
Pushing with default settings:
mvn -Pdocker deploy
Pushing to a specific docker registry:
mvn -Pdocker deploy -Ddocker.push.registry=registry.hub.docker.com
Pushing to a specific docker registry under a specific account:
mvn -Pdocker deploy -Ddocker.push.registry=registry.hub.docker.com -Ddocker.account=eclipse
Don't forget to add the
console Maven profile to the console above if you're interested in pushing the Web Console image as well.
By default Kapua applies the following tags to the published images:
- daily timestamp in format
- current project version (for example