Documentation

Simple project files watcher and deployer.

The scenario is when we are developing in your local workspace and the program only runs in specific runtime environment, we have to setup by ourself to make the program run and debug on runtime folders, or remote machines. Caravan is the automation tool designed for solving such kind of problems by watching the file changes, and deploy them automatically to its destination.

This is the caravan in Sid Meier’s Civilization V, where the project name originally comes from.

Installation

$ gem install caravan

Usage

$ caravan --help

    -s, --source SOURCE_PATH         Source path
    -d, --dest DEST_PATH             Destination path
    -m, --mode DEPLOY_MODE           Deploy mode
    -i, --ignore IGNORE_FILES        Ignore files
    -o, --once                       Deploy for once
    -b, --debug                      Debug mode
    -l, --load YAML_FILE             YAML file (Default: ./caravan.yml)
        --version                    Show version

Examples

Deploy to local directory:

$ caravan -s /path/to/project/. -d /path/to/deploy -m shell

Deploy to remote machines:

$ caravan -s /path/to/project/. -d user@remote_machines:/path/to/deploy -m rsync

Deploy only once:

$ caravan -s /path/to/project/. -d user@remote_machines:/path/to/deploy -m rsync --once

Configuration

Generate default configuration:

$ cd /path/to/src
$ caravan --init

A caravan.yml will be generated as /path/to/src/caravan.yml. You may specify any options in command arguments except source path.

debug: false
deploy_mode: rsync_local
incremental: true
exclude:
- ".git"
- ".svn"

You may also write src and dst to caravan.yml. Hence, deployment made even easier.

$ caravan

caravan.yml can be named as you like. To load your own YAML file, use --load:

$ caravan --load my-caravan.yml

Deploy Modes

Plan

License

MIT