Continuous git-based deployment and http routing
Switch branches/tags
Nothing to show
Pull request Compare This branch is 95 commits behind substack:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
example
lib
test
README.markdown
package.json

README.markdown

stagecoach

Stagecoach is a git deploy server and http router for continuous deployment.

When you git push to stagecoach, the code spins up on a new subdomain based on the commit hash.

You can then alias commit hash domains to client-facing subdomains using custom routing logic to do feature splits, A/B tests, or incremental phased deployment.

status

The first part of the CLI tool that hosts a git server over http and brings up new domains works.

The ports are hard-coded which is lame. Authentication over basic auth needs to be implemented too.

The API for modifying the routing logic needs merged from the old code into the bin script.

get started

Create a deploy.json file in a git repo with a "start" key:

{ "start" : "node server.js" }

The "start" command will be passed a port to listen on as its first argument.

Fire up a new git deploy server using the stagecoach command:

stagecoach

Push to the deploy server from your repo:

git push http://localhost:7070 master

Navigate to the commit hash subdomain on the deploy server:

curl -H host:f117c05cb138b360e2d4dcd5b354ab2a5408adeb.localhost localhost:7070

Hooray it worked.

TODO: feature routing

license

MIT/X11