yianjiajia / concord

Concord - workflow orchestration and continuous deployment management

Home Page:https://concord.walmartlabs.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

cd ./console2
npm install # Install dependencies

Verify that the proxy property in console2/package.json is set to the Server's API address.

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;
  • ujson python module is required. It can be installed using pip install ujson or a system package manager;
  • 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

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

https://concord.walmartlabs.com

License:Other


Languages

Language:Java 77.4%Language:TypeScript 19.9%Language:HTML 1.5%Language:Python 0.6%Language:CSS 0.3%Language:Shell 0.1%Language:JavaScript 0.1%Language:Dockerfile 0.1%Language:Ruby 0.0%Language:Groovy 0.0%