Conductor is a simple task runner/launcher. Its goal is to make it easier to launch more complicated stacks in a development environment. Automatically launching backend, front end, and services at once. While also aggregating all their output together into a single process.
Visit http://conductor.5sigma.io for documentation and information.
Binaries are available under the releases and in homebrew.
Conductor is configured by creating a conductor.yml
file. Usually at the root of the project(s).
name: MyApp
components:
- name: api-server
tags:
- web
- api
color: Blue
repo: https://github.com/me/elixir-backend.git
start:
env:
MIX_ENV: dev
command: mix
args:
- phx.server
init:
- command: mix
args:
- deps.get
- command: mix
args:
- compile
- name: web
tags:
- web
color: Purple
start:
command: npm
args:
- start
env:
FORCE_COLOR: 1
repo: https://github.com/me/react-frontend.git
init:
- command: yarn
args:
- install
Running the binary in a folder containing a conductor.yml (or any subfolder of that folder). Will run the entire stack.
conductor
The Setup subcommand will clone repos and run their init commands
conductor setup
A single component can be executed using the run subcommand
conductor run web
Tags can also be specified to limit the execution to a set of components
conductor run --tags=web,api