Concord is a workflow server. It is the orchestration engine that connects different systems together using scenarios and plugins created by users.
Dependencies:
- Git 2.18+
- Java 8
- Docker Community Edition
- (Optional) NodeJS and NPM (Node 14 or greater)
git clone ...
cd concord
./mvnw clean install -DskipTests
You can build docker images using this commands:
./mvnw clean install -DskipTests -Pdocker
See the console2/README.md file.
cd ./console2
npm install # Install dependencies
Start the console in dev mode by running:
npm run start
Use the jdk11
profile:
./mvnw clean install -DskipTests -Pdocker -Pjdk11
This command builds binaries and Docker images using JDK 11.
Prerequisites:
- Git 2.3+
- Docker, listening on
tcp://127.0.0.1:2375
; - Ansible 2.6.0+ must be installed and available in
$PATH
. See the official documentation; requests
python module is required. It can be installed by usingpip install requests
or the system package manager;- Java must be available in
$PATH
asjava
; - Chrome WebDriver available in
$PATH
.
Integration tests are disabled by default. Use the it
profile to enable them:
./mvnw verify -Pit
This will run ITs agains the locally running server and the agent.
To automatically start and stop the server and the agent using docker, use the
docker
profile:
./mvnw verify -Pit -Pdocker
To run UI ITs in an IDE using the UI's dev mode:
- start the UI's dev mode with
cd console2 && npm start
; - set up
IT_CONSOLE_BASE_URL=http://localhost:3000
environment variable before running any UI tests.
See the examples directory.
- perform the regular Maven release:
$ ./mvnw release:prepare release:perform
- push the tags:
$ git push --tags
- sync to Central;
- build and push the Docker images:
$ git checkout RELEASE_TAG $ ./mvnw -f docker-images clean package -Pdocker $ ./docker-images/push.sh RELEASE_TAG