deploy-static
This is a command built with Node.js to facilitate deployment of static files.
Installation
$ npm i deploy-static -g
Usage
Before deployment, you should upload your static files somewhere and
build a list in static.json
.
static.json
may be an array of {url, path}
items, or an object with
a files
property containing such an array.
Each item has a remote url
and local path
mapping. url
s can be
both absolute or relative paths.
Then deploy your static files with the command below.
$ deploy-static fetch static.json -t v1.0 -p http://my.storage.com/
After that you will get directory architecture like this:
▾ ./
▸ current/ -> versions/v1.0/ # symlink to current version
▸ versions/
▸ v0.8/
▸ v0.9/
▸ v1.0/ # latest version
The latest version will be linked to ./current
while the history
versions are kept in ./versions
so that you can easily rollback.
Note that if the url
is relative, the prefix
parameter must be
assigned. static.json
is also an url
, either absolute or relative.
Documents
- deploy-static fetch
usage: deploy-static fetch [-h] [-d DIST] [-V] [-t TAG] [-f] [-p PREFIX] [-S]
static
Positional arguments:
static the URL or path of static.json, stdin will be read if
none is provided
Optional arguments:
-h, --help Show this help message and exit.
-d DIST, --dist DIST the directory to hold the static files
-V, --verbose Show verbose log.
-t TAG, --tag TAG the tag of current version, will be used as the
subdirectory name, default as current date
-f, --force whether to reuse files in an existed tag
-p PREFIX, --prefix PREFIX
the URL prefix for all items with relative paths
-S, --save-static whether to store the static.json file
- deploy-static link
usage: deploy-static link [-h] [-d DIST] tag
Positional arguments:
tag the tag or folder name of the version to be linked
Optional arguments:
-h, --help Show this help message and exit.
-d DIST, --dist DIST the directory to hold the static files
-V, --verbose Show verbose log.
- deploy-static clean
usage: deploy-static clean [-h] [-d DIST] [-t TAG [TAG ...]] [-n NUMBER]
[-k KEEP] [-N]
Optional arguments:
-h, --help Show this help message and exit.
-d DIST, --dist DIST the directory to hold the static files
-V, --verbose Show verbose log.
-t TAG [TAG ...], --tag TAG [TAG ...]
Remove obsolete versions by tags.
-n NUMBER, --number NUMBER
Remove the first NUMBER of obsolete versions. If
value not provided, the first one will be removed.
-k KEEP, --keep KEEP Remove obsolete versions and keep last KEEP ones. If
value not provided, the last 4 will be kept.
-N, --dry Show versions to be cleaned and exit.