Building Conductor From Source
Build and Run
In this article we will explore how you can set up Conductor on your local machine for trying out some of its features.
Prerequisites
- JDK 17 or greater
- (Optional) Docker if you want to run tests. You can install docker from here.
- Node for building and running UI. Instructions at https://nodejs.org.
- Yarn for building and running UI. Instructions at https://classic.yarnpkg.com/en/docs/install.
Steps to build Conductor Server
1. Checkout the code
Clone conductor code from the repo: https://github.com/conductor-oss/conductor
2. Build and run Server
NOTE for Mac users: If you are using a new Mac with an Apple Silicon Chip, you must make a small change to
conductor/grpc/build.gradle
- adding "osx-x86_64" to two lines:
You may also need to install rosetta:
Navigate to the swagger API docs: http://{{ server_host }}/swagger-ui/index.html?configUrl=/api-docs/swagger-config
Download and Run
As an alternative to building from source, you can download and run the pre-compiled JAR.
export CONDUCTOR_VER=3.3.4
export REPO_URL=https://repo1.maven.org/maven2/com/netflix/conductor/conductor-server
curl $REPO_URL/$CONDUCTOR_VER/conductor-server-$CONDUCTOR_VER-boot.jar \
--output conductor-server-$CONDUCTOR_VER-boot.jar; java -jar conductor-server-$CONDUCTOR_VER-boot.jar
Build and Run UI
Conductor UI from Source
The UI is a standard create-react-app
React Single Page Application (SPA). To get started, with Node 14 and yarn
installed, first run yarn install
from within the /ui
directory to retrieve package dependencies.
There is no need to "build" the project unless you require compiled assets to host on a production web server. If the latter is true, the project can be built with the command yarn build
.
To run the UI on the bundled development server, run yarn run start
. Navigate your browser to http://localhost:5000
. The server must already be running on port 8080.
Launch UI http://localhost:5000
Summary
- By default in-memory persistence is used, so any workflows created or executed will be wiped out once the server is terminated.
- Without indexing configured, the search functionality in UI will not work and will result an empty set.
- See how to install Conductor using Docker with persistence and indexing.