Skip to content

5Sigma/conductor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI

Conductor

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.

Installation

Binaries are available under the releases and in homebrew.

Configuration

Conductor is configured by creating a conductor.yml file. Usually at the root of the project(s).

Example configuration:

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

Usage

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