UNPKG

nyx_server

Version:

Node内容发布

51 lines (38 loc) 1.5 kB
/* global process */ var config = require("../config/default-config"); var log4js = require("log4js"); var log = log4js.getLogger("nyx online"); var mkdirp = require("mkdirp"); var Optimist = require("../optimist/optimist"); var help = require("../optimist/help"); var optimist = new Optimist(); var _online = require("../core/admin/Online"); var projects_cache_path = config.projects_cache_path; log.debug("项目安装路径 : " + projects_cache_path); mkdirp.sync(projects_cache_path); optimist .info('项目上线') .usage('nyx online [--project projectName --gitrepo gitpath --version version]') .define("project").type("string").describe('项目名称').require(true) .define("version").type("string").describe('项目版本').require(true) .define("gitrepo").type("string").describe('项目git地址').require(true); var argv = optimist.getArgv(); function Online(){} Online.prototype.execute = function(){ var argvAnalysis = optimist.analysis; if (argvAnalysis.options.hasOwnProperty('help') || argvAnalysis.shortKeys.hasOwnProperty('h')) { help.detailed(optimist); process.exit(1); } var projectName = argv.project; var version = argv.version; var gitrepo = argv.gitrepo; return _online(projectName , gitrepo , version , projects_cache_path); }; Online.prototype.showhelp = function(){ help.detailed(optimist); }; Online.prototype.optimist = function() { return optimist; }; module.exports = new Online();