Skip to content

amaybaum-dev/concord

 
 

Repository files navigation

Concord

Concord is a workflow server. It is the orchestration engine that connects different systems together using scenarios and plugins created by users.

Building

Dependencies:

git clone ...
cd concord
./mvnw clean install -DskipTests

Docker Images

You can build docker images using this commands:

./mvnw clean install -DskipTests -Pdocker

Console

See the console2/README.md file.

cd ./console2
npm install # Install dependencies

Start the console in dev mode by running:

npm run start

Integration tests

Prerequisites

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 using pip install requests or a system package manager;
  • Java must be available in $PATH as java;
  • Chrome WebDriver available in $PATH.

Running tests

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.

Examples

See the examples directory.

How To Release New Versions

  • 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
    

About

Concord - workflow orchestration and continuous deployment management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 81.2%
  • TypeScript 16.7%
  • Mustache 1.0%
  • Python 0.5%
  • CSS 0.3%
  • Shell 0.1%
  • Other 0.2%