Last active
April 20, 2016 21:49
-
-
Save gabrielstuff/643c3817a94afde7fb89c7a48683e20c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require('shelljs/global') | |
var fs = require('fs') | |
var handlebars = require('handlebars') | |
var targz = require('tar.gz') | |
var file = './pm2-auto.json' | |
cd('test-settings') | |
rm('-rf', '.build'); | |
var meteorSettingsFile = fs.readFileSync('./test.json', "utf8") | |
var pm2startTemplate = handlebars.compile(fs.readFileSync('./pm2-start.tpj', "utf8")) | |
var result = pm2startTemplate({ | |
'node_env': 'production', | |
'root_url': 'http://test.com', | |
'meteor_settings': meteorSettingsFile | |
}); | |
result = JSON.parse(result) | |
console.log(result) | |
fs.writeFile(file, JSON.stringify(result, null, 2), 'utf-8', function (err) { | |
console.error(err) | |
}) | |
console.log('Building meteor app...') | |
if (exec('meteor build .build').code !== 0) { | |
echo('Error: Meteor build command failed'); | |
exit(1); | |
} else { | |
console.log('Extracting meteor app...') | |
if (exec('tar -zxvf ./.build/test-settings.tar.gz -C ./.build').code !== 0) { | |
echo('Error: Extract command failed'); | |
exit(1); | |
} else { | |
cd('./.build/bundle/programs/server') | |
console.log('Installing dependencies..'); | |
if (exec('npm install').code !== 0) { | |
echo('Error: npm install failed'); | |
exit(1); | |
} else { | |
mv('-f','../../../../pm2-auto.json', '../../pm2-auto.json') | |
console.log('my job here is done.') | |
} | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"apps" : [{ | |
"name" : "test-app", | |
"script" : "main.js", | |
"node_args" : "--harmony", | |
"merge_logs" : true, | |
"env": { | |
"NODE_ENV": "{{node_env}}", | |
"ROOT_URL": "{{root_url}}", | |
"METEOR_SETTINGS": {{{meteor_settings}}} | |
} | |
}] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment