deploy tool for egg project.
Note: Windows is partially supported, see #22
$ npm i egg-scripts --save
Add eggctl
to package.json
scripts:
{
"scripts": {
"start": "eggctl start --daemon",
"stop": "eggctl stop"
}
}
Then run as:
npm start
npm stop
Note: egg-scripts
is not recommended to install global, you should install and use it as npm scripts.
Start egg at prod mode.
$ eggctl start [options] [baseDir]
# Usage
# eggctl start --port=7001
# eggctl start ./server
- Arguments
baseDir
- directory of application, default toprocess.cwd()
.
- Options
port
- listening port, default toprocess.env.PORT
, if unset, egg will use7001
as default.title
- process title description, use for kill grep, default toegg-server-${APP_NAME}
.workers
- numbers of app workers, default toprocess.env.EGG_WORKERS
, if unset, egg will useos.cpus().length
as default.daemon
- whether run at background daemon mode, don't use it if in docker mode.framework
- specify framework that can be absolute path or npm package, default to auto detect.env
- server env, default toprocess.env.EGG_SERVER_ENV
, recommended to keep empty then use framwork default env.stdout
- customize stdout file, default to$HOME/logs/master-stdout.log
.stderr
- customize stderr file, default to$HOME/logs/master-stderr.log
.timeout
- the maximum timeout when app starts, default to 300s.ignore-stderr
- whether ignore stderr when app starts.sourcemap
/typescript
/ts
- provides source map support for stack traces.node
- customize node command path, default will find node from $PATH
Stop egg gracefull.
Note: if exec without --title
, it will kill all egg process.
# stop egg
$ eggctl stop [--title=example]
- Options
title
- process title description, use for kill grep.timeout
- the maximum timeout when app stop, default to 5s.
In addition to the command line specification, options can also be specified in package.json
. However, the command line designation takes precedence.
{
"eggScriptsConfig": {
"port": 1234,
"ignore-stderr": true
}
}
Please open an issue here.