在根目录创建一个publish.js文件
发布的时候 只要输入 node publish.js publish test
就可以了
// 一键打包部署
module.exports = function () {
let O = 'xxx', // 文件名
Q = require('q'),
del = require('del'),
gulp = require('gulp'),
zip = require('gulp-zip'),
node_ssh = require('node-ssh'),
colors = require('colors/safe'),
dateFormat = require('dateformat'),
argv = process.argv,
fs = require('fs'),
path = require('path'),
exec = require('child_process').exec,
IPs = [{
host: 'xx.xx.xx.xx', // 中控地址
post: 22,
user: 'root',
dist: '/root',
privateKey: '/Users/.ssh/id_rsa' // 本地ssh
}],
SERVER = {
// 这里可以写多个服务器
'test': {
type: 'test',
host: 'xx.xx.xx.xx', // 服务器地址
port: 22,
user: '',
dist: '/xx', // 路径
privateKey: ''
}
},
center = new node_ssh(),
zipfile = O + '-' + dateFormat(new Date(), 'yyyy-mm-dd-HH-MM-ss') + '.zip';
if ('publish' !== argv[2]) {
process.stdout.write(colors.green('Do you mean "publish"?\n'));
return
}
if (!SERVER[argv[3]]) {
process.stdout.write(colors.green('\x20SERVER REQUIRED!\n'));
process.stdout.write(colors.blue('\x20-node dist.publish.js test\n'));
process.stdout.write(colors.blue('\x20-node dist.publish.js prod\n'));
return
}
IPs.push(SERVER[argv[3]]);
const testFilename = 'devdata.json',
prodFilename = 'prodata.json'
newname = 'domaindata.json'