warren/README.md

51 lines
1.7 KiB
Markdown

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