warren ====== Build, Deploy and Multiversion Run tool Install ------- ``` go get github.com/dballard/warren/ cd $GOPATH/src/github.com/dballard/warren/ make sudo make install ``` Usage ----- ### Build **`warren build`** Build the current go package. Pretty much `go build` but with additional defines: > * BuildGitBranch - from git > * BuildGitHash - from git > * BuildDate - from system time ### Deploy **`waren deploy`** Deploy the current package to ./deploy, which is registered with warrend. By default, assumed $DIRNAME is the name of the go pacakge and just deploys that binary to a subdirctory named after the date and githash An optional warren.yaml manifest can be supplied to indicate additional files to be included in the deploy ### Running **`warrend`** is the main tool that runs registered go services, but is managed via the `warren` command. `warrend` stores registered deployment information in /etc/warrend.json. Don't edit it directly, use the command line interface. `warrend` stores deployment specific config in the deployment's directory in warrend.json * `warren list` lists registered deployments (directory, name) * `warren reg [name] [directory]` registers a warren deployment directory with warrend for running * `warren unreg [name]` unregisters a warren deployment * `warren pool [name] [low high]` with no argument, displays the port range for a deployment, With arguments, sets the low and high and range of the pool. The first 2 ports of the pool are reserved for **stable** and **tail** * `warren peg [name] [stable] [hash]` Sets a certain hash as the new "stable" * `warren start [name]` starts a deployment running * `warren stop [name]` stops a deployment