51 lines
1.7 KiB
Markdown
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
|