...
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:
Code Block |
---|
Code Block |
---|
language | bash |
---|
title | Build 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 | bashmvn 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 |
---|
|
# Run NPM Build
cd ui
npm install
npm# run build-rc
|
Code Block |
---|
language | bash |
---|
title | Build & 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 |
---|
language | bash |
---|
title | Build 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 |
---|
title | Set 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 |
---|
title | Build 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!
(Community)
...