add production configuration

This commit is contained in:
陆柯 2019-12-14 14:40:57 +08:00
parent 1e324a2498
commit b2a1286fe7
4 changed files with 21 additions and 11 deletions

View File

@ -3,18 +3,23 @@ module.exports={
host: 'localhost',
port: undefined,
from: './dist', // local path to serve as webroot
// 如果使用 https 协议,必须填写以下内容,或在命令行参数中设置:
sslType: '', // '' or greenlock or file
sslDomainList: ['localhost'],
sslKey: undefined, // ssl key file,
sslCert: undefined, // ssl cert file,
sslCA: undefined, // ssl ca file,
production: {
protocol: 'httpall',
host: 'remote.domain',
// 如果使用 https 协议,必须填写以下内容,或在命令行参数中设置:
sslType: 'file', // '' or greenlock or file
sslDomainList: ['remote.domain'],
sslKey: '/etc/letsencrypt/live/HOST/privkey.pem', // ssl key file,
sslCert: '/etc/letsencrypt/live/HOST/fullchain.pem', // ssl cert file,
sslCA: '/etc/letsencrypt/live/HOST/bundle.pem', // ssl ca file,
},
deploy: {
type: 'web',
host: 'localhost', // 待部署到的主机
port: '22', // 带部署到的主机的 SSH 端口
dir: '/home/adot/APPNAME', // 待部署到的目录路径
dir: '/faronear/ORG/APP', // 待部署到的目录路径
dist: 'dist', // 待部署到的文件夹
user: 'adot', // 登录用户名
password: '', // 登录用户密码

View File

@ -1,6 +1,3 @@
module.exports={
// sslType: 'file',
// sslKey: '/etc/letsencrypt/live/HOST/privkey.pem', // ssl key file,
// sslCert: '/etc/letsencrypt/live/HOST/fullchain.pem', // ssl cert file,
// sslCA: '/etc/letsencrypt/live/HOST/bundle.pem', // ssl ca file,
}

View File

@ -19,6 +19,7 @@
"vhost": "^3.0.2"
},
"devDependencies": {
"pm2": "^3.5.0",
"standard": "^12.0.1",
"supervisor": "^0.12.0",
"watchify": "^3.10.0"

View File

@ -36,6 +36,7 @@ try {
// 载入命令行参数
commander
.version(Config.VERSION, '-v, --version') // 默认是 -V。如果要 -v就要加 '-v --version'
.option('-e, --env <env>', 'Environment. Default to ' + (Config.env || process.env.NODE_ENV))
.option('-H, --host <host>', `Host ip or domain name. Default to ${Config.host}`)
.option('-P, --protocol <protocol>', `Web server protocol http|https|httpall|http2https. Default to ${Config.protocol}`)
.option('-p, --port <port>', `Server port. Default to ${Config.port?Config.port:'80|443'}`)
@ -47,6 +48,12 @@ try {
.parse(process.argv)
// 把命令行参数 合并入配置。
Config.env = commander.env || Config.env || process.env.NODE_ENV
if (Config.env === 'production') {
Config = deepmerge(Config, Config.production)
}
delete Config.production
Config.host=commander.host || Config.host
Config.protocol=commander.protocol || Config.protocol || 'http'
Config.port=parseInt(commander.port) || parseInt(Config.port) || (Config.protocol==='http'?80:Config.protocol==='https'?443:undefined) // 端口默认为 http:80, https:443, httpall: 80|443