Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heapwolf/d
An git based, infrastructure-agnostic deploy tool for node.js
https://github.com/heapwolf/d
Last synced: 5 days ago
JSON representation
An git based, infrastructure-agnostic deploy tool for node.js
- Host: GitHub
- URL: https://github.com/heapwolf/d
- Owner: heapwolf
- Created: 2012-09-11T14:34:23.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2013-12-15T17:39:02.000Z (almost 11 years ago)
- Last Synced: 2024-11-01T18:42:18.341Z (12 days ago)
- Language: JavaScript
- Homepage:
- Size: 148 KB
- Stars: 29
- Watchers: 11
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SYNOPSIS
An git based, infrastructure-agnostic deploy tool for #node.js# DESIGN
### No single end point
A single API endpoint is a single point of failure. A deployment tool
should maintain a cache of API endpoints that can be tried in the case of
connection failure.### Differential deployments
Only the delta of the code should be deployed. This significantly
improves user experience while reducing the footprint on the network.### Always an interactive REPL
### Uses public key infrastructure/cryptography
### Binary differential deployments (only deploy your changes)
# Usage
The program is always run in interactive REPL mode.## Interactive mode (REPL)
## Push code to the cloud
__**Commands**__ `push [tag]`,__**Description**__ Attempt to push the code in the current project to the
deployment target(s). You may optionally specify a remote for the code push.## Pull code from the cloud
__**Commands**__ `pull [tag]`,__**Description**__ Pull the latest code from for the app. If no version is
specified it will pull the latest. If a version is specified, it can be either
the sha1 hash for a particular commit or a git tag.## Stop, Restart or Start code
__**Commands**__ `d start [version]`, `d stop [all]`, `d restart`__**Description**__ Send the application a start, stop or restart signal.
These commands are short hand for `d sig start`, `d sig stop` and `d sig
restart`.- To specify a version of your app to start, supply the git `sha1` hash
or `tag`.- To stop all of the apps that you have deployed, specify `all` in addition
to `stop`.## Send an arbitrary signal to the running code
__**Commands**__ `d sig `, `sig `__**Description**__ Send an arbitrary signal to an application.
## Environment variables
__**Commands**__ `env *[name]* *[value]*`, `env *[name]* *[value]*`__**Description**__ Environment variables are settings that are applied to the
shell environment when a deployment is made. This command will get, set, clear
and delete environmental variables.- To get all of the variables, omit `name` and `value` and all of the
currently set variables will be returned. If `--json` or `-j` is specified,
all of the results will be returned as raw `JSON` format.- To set a variable, supply both the `name` and the `value`. If a value
contains whitespace, remember to quote it.- To get a variable, supply only the `name` of the variable. This will print
only the name and value of that variable.- To clear an environment variable for an app, supply only the `name` of the
variable and specify `-c`. For example: `d env -c`.- To delete environment variable for an app, supply only the `name` of the
variable and specify `-d`. For example: `d env -d`.## Logs
__**Commands**__ `tail [file]`
__**Description**__ Application logging comes in two flavors. When running
this program in interactive mode, you will have real-time logs over tcp. When
this program is not running in interactive mode, you will see only a historic
view. This historic view is updated when possible and does not represent the
most current activity of the application.