From 300f6e4ae3b9cf542d19f568186731e99a8f5419 Mon Sep 17 00:00:00 2001 From: logsol Date: Thu, 25 Dec 2014 02:02:26 +0100 Subject: [PATCH 1/3] set up pm2 deployment --- config/ecosystem.json5 | 53 ++++++++++++++++++++++++++++++++++++++++++ scripts/deploy.sh | 11 +++++---- 2 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 config/ecosystem.json5 diff --git a/config/ecosystem.json5 b/config/ecosystem.json5 new file mode 100644 index 0000000..65b7853 --- /dev/null +++ b/config/ecosystem.json5 @@ -0,0 +1,53 @@ +{ + /** + * This is a sample configuration file for PM2 + */ + + /** + * Here we declare the apps that must be managed by PM2 + * All options are listed here: + * https://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#json-app-declaration + * + */ + apps : [ + + // First application + { + name : "chuck", + script : "server.js", + env_production : { + NODE_ENV: "production", + PORT: "1235" + } + }, + ], + + + /** + * PM2 help you to deploy apps over your servers + * For more help go to : + * https://github.com/Unitech/PM2/blob/master/ADVANCED_README.md#deployment-pm2--090 + */ + deploy : { + production : { + user : "chuck", + host : "fuuuuu.de", + ref : "origin/master", + repo : "https://github.com/logsol/chuck.js.git", + path : "/home/chuck/production", + "post-deploy" : "npm install && NODE_ENV=production sh scripts/build.sh && pm2 startOrRestart config/ecosystem.json5 --env production" + }, + dev : { + user : "chuck", + host : "fuuuuu.de", + ref : "origin/controls", + repo : "https://github.com/logsol/chuck.js.git", + path : "/home/chuck/development", + "post-deploy" : "npm install && pm2 startOrRestart config/ecosystem.json5 --env dev", + env : { + NODE_ENV: "dev", + PORT: "1234" + } + } + } +} diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 8d99702..8e10a1e 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -1,7 +1,10 @@ #!/bin/bash -# cd /home/logsol/projects/js/chuck.js/ && forever stop server.js -# cd /home/logsol/projects/js/chuck.js/ && forever start server.js && echo "forever - just restarted server" - -cd /home/logsol/projects/js/chuck.js/ && forever restart server.js +DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/.. +if [ -z "$1" ] +then + pm2 deploy $DIR/config/ecosystem.json5 dev +else + pm2 deploy $DIR/config/ecosystem.json5 $1 +fi \ No newline at end of file From a0731d8afd743d94f9173d3f23f62e44c5fe7490 Mon Sep 17 00:00:00 2001 From: logsol Date: Thu, 25 Dec 2014 02:05:29 +0100 Subject: [PATCH 2/3] deployment stuff --- config/ecosystem.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ecosystem.json5 b/config/ecosystem.json5 index 65b7853..bf1282d 100644 --- a/config/ecosystem.json5 +++ b/config/ecosystem.json5 @@ -40,7 +40,7 @@ dev : { user : "chuck", host : "fuuuuu.de", - ref : "origin/controls", + ref : "origin/master", repo : "https://github.com/logsol/chuck.js.git", path : "/home/chuck/development", "post-deploy" : "npm install && pm2 startOrRestart config/ecosystem.json5 --env dev", From d8a49779ae3eda3ae288e0393adc66d69b7015a4 Mon Sep 17 00:00:00 2001 From: logsol Date: Thu, 25 Dec 2014 02:10:13 +0100 Subject: [PATCH 3/3] deployment stuff --- config/ecosystem.json5 | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/config/ecosystem.json5 b/config/ecosystem.json5 index bf1282d..6ec2cd9 100644 --- a/config/ecosystem.json5 +++ b/config/ecosystem.json5 @@ -11,7 +11,7 @@ */ apps : [ - // First application + // Production { name : "chuck", script : "server.js", @@ -20,6 +20,17 @@ PORT: "1235" } }, + + // Development + { + name : "chuck-dev", + script : "server.js", + env : { + NODE_ENV: "dev", + PORT: "1236" + } + } + ], @@ -44,10 +55,6 @@ repo : "https://github.com/logsol/chuck.js.git", path : "/home/chuck/development", "post-deploy" : "npm install && pm2 startOrRestart config/ecosystem.json5 --env dev", - env : { - NODE_ENV: "dev", - PORT: "1234" - } } } }