Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
cascading multi-server git deployment
JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
README.markdown
index.js
package.json

README.markdown

propagit

Cascading multi-server git deployment.

example

First start up a hub server to listen for git deploys:

$ propagit hub --port=6000 --secret=beepboop
control service listening on :6000
git service listening on :6001

then spin up as many drones as necessary on other machines with the command to run on deployment for each type of service:

$ propagit drone --hub=hubhost:6000 --secret=beepboop \
    -- node server.js 8085

Now you can git push to the hub and the drones will git fetch from the hub. Just do:

$ cd ~/projects/somerepo
$ git push http://hubhost:6001/somerepo master

To deploy the code, use the repo name and git commit hash of the version you want to deploy:

$ propagit deploy --hub=hubhost:6000 --secret=beepboop \
  somerepo ed56c6e85731d412fe22cf437cb63130afc34b07
Listening on :8085
^C

usage

Usage:
  propagit OPTIONS hub

    Create a server to coordinate drones.

    --port       port to listen on
    --secret     password to use
    --basedir    directory to put repositories

  propagit OPTIONS drone

    Listen to the hub for deploy events and execute COMMAND with
    environment variables $REPO and $COMMIT on each deploy.

    --hub        connect to the hub host:port
    --secret     password to use
    --basedir    directory to put repositories and deploys in

  propagit OPTIONS deploy REPO COMMIT [COMMAND...]

    Deploy COMMIT to all of the drones listening to the hub.

    --hub        connect to the hub host:port
    --secret     password to use

install

With npm do:

npm install -g propagit
Something went wrong with that request. Please try again.