Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Now we'll build the system from source and run a test instance in Docker. Note that the docker-compose file used here should only be used for final release testing, as no volumes are defined for persistence.

incubator-streampipes

Build backend & UI

From the parent folder of the core, do the following to build the Java-based core:

bash
Code Block
Code Block
languagebash
titleBuild Maven artifacts
# Openin incubator-streampipesdownload folderdirectory
cd incubator-streampipes

# Run Maven Build, use install to make core artifacts available to the extensions build later
mvn clean install

Code Block
language
mvn clean package

This build should be successful.

The next step is to build the UI, switch to the ui directory and do the following:

Code Block
titleBuild UI
# Run NPM Build
cd ui

npm install
npm# run build-rc

Code Block
languagebash
titleBuild & start core system Docker images
# Go back to the main directory of incubator-streampipes

docker-compose up

# ALTERNATIVE: docker-compose up -d. 
# Start container in background.

# This will build the Docker images for the streampipes-backend and the streampipes-connect-master modules. In addition, it will start several 3rd party Docker containers that are 
# mandatory for StreamPipes, e.g., CouchDB and Consul. Again, be aware that this docker-compose configuration does not include volume persistency and should therefore only be used for 
# short-term testing.

# Force rebuild of images before starting (e.g. after bug fix): docker-compose build

incubator-streampipes-extensions

Now we'll build and start the extensions project:

Code Block
languagebash
titleBuild Maven artifacts
# Open incubator-streampipes-extensions folder
cd incubator-streampipes-extensions

# Run Maven Build
mvn clean package
docker-compose up

# ALTERNATIVE: docker-compose up -d. 
# Start container in background

# Force rebuild of images before starting (e.g. after bug fix): docker-compose build
If this results in an error, do npm install --legacy-peer-deps

npm run build

Start test system 

If you want to test the system, there is a convenience docker-compose file that will help you starting the release candidate for testing.

Go back to the main directory of the core release artifact (where the docker-compose.yml file is located) and do the following:

Code Block
titleSet proper line encoding in docker entrypoint
# this might be optional - seems to only occur in rare cases on Windows systems

# Set the correct EOL encoding for the UI entrypoint file (docker-entrypoint.sh) file to LF:
awk 'BEGIN{RS="^$";ORS="";getline;gsub("\r","");print>ARGV[1]}' ui/docker-entrypoint.sh

# Alternative: Open the file ui/docker-entrypoint.sh, change the eol encoding to "LF" (e.g., in Notepad++ by clicking on "Windows CRLF" in the bottom status bar).


Code Block
titleBuild Docker images and start
docker-compose up --build -d

# Use docker-compose up to run it in foreground
# Docker images will be locally built


Once you're done with that, proceed to the next step. This will start all extensions (except Flink modules) and you're ready for testing!

Test system
Anchor
test-system
test-system
 (Community)

...