From 19db616fc9e397c87619f781d4a921d38dae81df Mon Sep 17 00:00:00 2001 From: mpsido Date: Sat, 23 Dec 2017 17:53:45 +0800 Subject: [PATCH 01/16] Adding build number text file --- build_number | 1 + 1 file changed, 1 insertion(+) create mode 100644 build_number diff --git a/build_number b/build_number new file mode 100644 index 0000000..ba66466 --- /dev/null +++ b/build_number @@ -0,0 +1 @@ +0.0 From 828806f1587887900ac9a6b07c993482a810ab03 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sat, 23 Dec 2017 18:05:08 +0800 Subject: [PATCH 02/16] Version 0.1 --- build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_number b/build_number index ba66466..49d5957 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.0 +0.1 From 9466b2876c048d683ceb5cfd65b2d5860a64435b Mon Sep 17 00:00:00 2001 From: mpsido Date: Sat, 23 Dec 2017 18:07:47 +0800 Subject: [PATCH 03/16] Version 0.2 --- build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_number b/build_number index 49d5957..3b04cfb 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.1 +0.2 From 37488ab5d8461be192c58b90caff5b63fca5334d Mon Sep 17 00:00:00 2001 From: mpsido Date: Sat, 23 Dec 2017 18:11:55 +0800 Subject: [PATCH 04/16] Version 0.3 --- build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_number b/build_number index 3b04cfb..be58634 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.2 +0.3 From 148133c4d3e7b1c4f2b76cab7d6e15cde3e17794 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sat, 23 Dec 2017 18:26:55 +0800 Subject: [PATCH 05/16] Version 0.3 --- app.js | 2 +- build_number | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index 13c1712..ff70d20 100644 --- a/app.js +++ b/app.js @@ -77,7 +77,7 @@ app.get('/', (req, res) => { res.render('home', {}); }); -const port = process.env.PORT || 1234; +const port = process.env.PORT || 8080; app.listen(port, () => { console.log(`working on ${port}`); diff --git a/build_number b/build_number index be58634..bd73f47 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.3 +0.4 From baed648c2d245abc27505722946845e6d312421b Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 10:57:36 +0800 Subject: [PATCH 06/16] build 0.5 --- build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_number b/build_number index bd73f47..2eb3c4f 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.4 +0.5 From 11c11f2dc910e812a7399a0f1c51cca13f14e3a5 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 11:00:35 +0800 Subject: [PATCH 07/16] Version 0.6 --- build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_number b/build_number index 2eb3c4f..5a2a580 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.5 +0.6 From 37b7ac8fc27e96c04f76455ea00024eba382af41 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 11:15:56 +0800 Subject: [PATCH 08/16] listening to port 80 --- app.js | 2 +- build_number | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index e4d151f..4f2996d 100644 --- a/app.js +++ b/app.js @@ -81,7 +81,7 @@ app.get('/', (req, res) => { res.render('home', {}); }); -const port = process.env.PORT || 8080; +const port = process.env.PORT || 80; app.listen(port, () => { console.log(`working on ${port}`); diff --git a/build_number b/build_number index 5a2a580..eb49d7c 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.6 +0.7 From 8ca4b86d1a28992097e5b97ad7603136de64cc0f Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 12:49:17 +0800 Subject: [PATCH 09/16] Adding instructions on README.md and adding script run_forever.sh --- README.md | 15 +++++++++++++++ build_number | 2 +- run_forever.sh | 7 +++++++ 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100755 run_forever.sh diff --git a/README.md b/README.md index aa11e67..112259d 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,21 @@ Go there for instructions to install npm and nodejs using package manager [there At this point you can go to home page by typing this on your webbrowser: http://127.0.0.1:1234/ +# Other information: +The content are stored on a google spreadsheet. You need permission to edit: +https://docs.google.com/spreadsheets/d/1QHKa3vUpht7zRl_LEzl3BlUbolz3ZiL8yKHzdBL42dY/edit + +# Deployment +The website is published on the domain name url.coderbunker.com + +The deployment is automatically triggered when something is pushed on the [deployment branch](https://github.com/coderbunker/inventory-server/tree/deployment). +Please update the build_number file before every push on that branch. On server side there is a log file for every deployment whose name is the content of that file (with the ".log" extension) + +Once you are listed in the [project owners](https://app.codeship.com/orgs/coderbunker/teams/owners) you can: +* see deployments history: [Codeship dashboard](https://app.codeship.com/projects/261737) +* manage deployment scripts [Codeship administration page](https://app.codeship.com/projects/261737/deployment_branches/187689) + + Try also http://127.0.0.1:1234/search # Contribution diff --git a/build_number b/build_number index eb49d7c..aec258d 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.7 +0.8 diff --git a/run_forever.sh b/run_forever.sh new file mode 100755 index 0000000..78226b0 --- /dev/null +++ b/run_forever.sh @@ -0,0 +1,7 @@ +crash_version="$(cat build_number).log" +until `npm start >> $crash_version 2>&1`; +do + echo "Server 'myserver' crashed with exit code $?. Time: $(date). Respawning.." >> $crash_version + sleep 1 +done + From a5515de0b35dcd9f915e42ba9e50254c63b50ff1 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 13:23:55 +0800 Subject: [PATCH 10/16] Troobleshooting section in README.md --- README.md | 21 +++++++++++++++++++++ build_number | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 112259d..c53d575 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,32 @@ The website is published on the domain name url.coderbunker.com The deployment is automatically triggered when something is pushed on the [deployment branch](https://github.com/coderbunker/inventory-server/tree/deployment). Please update the build_number file before every push on that branch. On server side there is a log file for every deployment whose name is the content of that file (with the ".log" extension) +This branch contains a script [run_forever.sh](https://github.com/coderbunker/inventory-server/blob/deployment/run_forever.sh) that we run on server side. +The deployment branch also differs with the default listening port (80 instead of 1234). + Once you are listed in the [project owners](https://app.codeship.com/orgs/coderbunker/teams/owners) you can: * see deployments history: [Codeship dashboard](https://app.codeship.com/projects/261737) * manage deployment scripts [Codeship administration page](https://app.codeship.com/projects/261737/deployment_branches/187689) +## If deployment changes ? +The host needs to have read access on this reposit to download the deployment branch. + +One administrator of this github project has to add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the [Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys). + +Before the first deployment, the reposit has to be downloaded and the deployment branch must be checkouted. + git clone git@github.com:coderbunker/inventory-server.git + cd inventory-server + git checkout deployment + + +## Troobleshooting. +If the deployment fails, check that any application on the host is running a service on port 80. +It is possible that the previous time that "invetory-server" had been lauched did not termniate properly and it is still holding the port. + +In linux distributions only the root user can run a service listening to 80 port. Ensure you have the right permissions. + + Try also http://127.0.0.1:1234/search # Contribution diff --git a/build_number b/build_number index aec258d..b63ba69 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.8 +0.9 From ac87cbde9f444c887f5038c2abded708e304c55f Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 17:55:06 +0800 Subject: [PATCH 11/16] Using a pm2 deployment with nginx --- README.md | 13 +++++++++---- app.js | 2 +- build_number | 2 +- process.yml | 7 +++++++ run_forever.sh | 7 ------- 5 files changed, 18 insertions(+), 13 deletions(-) create mode 100644 process.yml delete mode 100755 run_forever.sh diff --git a/README.md b/README.md index c53d575..7b6538d 100644 --- a/README.md +++ b/README.md @@ -24,8 +24,11 @@ The website is published on the domain name url.coderbunker.com The deployment is automatically triggered when something is pushed on the [deployment branch](https://github.com/coderbunker/inventory-server/tree/deployment). Please update the build_number file before every push on that branch. On server side there is a log file for every deployment whose name is the content of that file (with the ".log" extension) -This branch contains a script [run_forever.sh](https://github.com/coderbunker/inventory-server/blob/deployment/run_forever.sh) that we run on server side. -The deployment branch also differs with the default listening port (80 instead of 1234). +The deployment uses pm2 as suggested in [this tutorial](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04). + +pm2 uses [process.yml](https://github.com/coderbunker/inventory-server/blob/deployment/process.yml) configuration file. +It makes the application listen to 8080 port. +There is an nginx server forwarding the requests from port 80 to the application running on localhost:8080. Once you are listed in the [project owners](https://app.codeship.com/orgs/coderbunker/teams/owners) you can: * see deployments history: [Codeship dashboard](https://app.codeship.com/projects/261737) @@ -35,13 +38,15 @@ Once you are listed in the [project owners](https://app.codeship.com/orgs/coderb ## If deployment changes ? The host needs to have read access on this reposit to download the deployment branch. -One administrator of this github project has to add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the [Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys). +One administrator of this github project has to add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the "[Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys)". + +Before the first deployment, the reposit has to be downloaded and the deployment branch must be checkout. -Before the first deployment, the reposit has to be downloaded and the deployment branch must be checkouted. git clone git@github.com:coderbunker/inventory-server.git cd inventory-server git checkout deployment +If you choose to use pm2 to monitor application, it has to be installed separately. ## Troobleshooting. If the deployment fails, check that any application on the host is running a service on port 80. diff --git a/app.js b/app.js index 4f2996d..ba938f8 100644 --- a/app.js +++ b/app.js @@ -81,7 +81,7 @@ app.get('/', (req, res) => { res.render('home', {}); }); -const port = process.env.PORT || 80; +const port = process.env.PORT || 1234; app.listen(port, () => { console.log(`working on ${port}`); diff --git a/build_number b/build_number index b63ba69..68c123c 100644 --- a/build_number +++ b/build_number @@ -1 +1 @@ -0.9 +0.10 diff --git a/process.yml b/process.yml new file mode 100644 index 0000000..0b94a00 --- /dev/null +++ b/process.yml @@ -0,0 +1,7 @@ +apps: + - script : app.js + instances: 4 + exec_mode: cluster + name: inventory-server + env: + PORT: 8080 diff --git a/run_forever.sh b/run_forever.sh deleted file mode 100755 index 78226b0..0000000 --- a/run_forever.sh +++ /dev/null @@ -1,7 +0,0 @@ -crash_version="$(cat build_number).log" -until `npm start >> $crash_version 2>&1`; -do - echo "Server 'myserver' crashed with exit code $?. Time: $(date). Respawning.." >> $crash_version - sleep 1 -done - From 0f9caf5c0928318dc96decade2697ac80df3e163 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 18:20:47 +0800 Subject: [PATCH 12/16] Removing descriptions in the README.md files that were related to a removed deployment chain --- README.md | 11 ++++++----- build_number | 1 - 2 files changed, 6 insertions(+), 6 deletions(-) delete mode 100644 build_number diff --git a/README.md b/README.md index 7b6538d..2ffd295 100644 --- a/README.md +++ b/README.md @@ -19,16 +19,17 @@ The content are stored on a google spreadsheet. You need permission to edit: https://docs.google.com/spreadsheets/d/1QHKa3vUpht7zRl_LEzl3BlUbolz3ZiL8yKHzdBL42dY/edit # Deployment + +## Push to deploy The website is published on the domain name url.coderbunker.com The deployment is automatically triggered when something is pushed on the [deployment branch](https://github.com/coderbunker/inventory-server/tree/deployment). -Please update the build_number file before every push on that branch. On server side there is a log file for every deployment whose name is the content of that file (with the ".log" extension) The deployment uses pm2 as suggested in [this tutorial](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04). pm2 uses [process.yml](https://github.com/coderbunker/inventory-server/blob/deployment/process.yml) configuration file. -It makes the application listen to 8080 port. -There is an nginx server forwarding the requests from port 80 to the application running on localhost:8080. + +The hosting itself works with an nginx service forwarding the requests to the local webapplication. Once you are listed in the [project owners](https://app.codeship.com/orgs/coderbunker/teams/owners) you can: * see deployments history: [Codeship dashboard](https://app.codeship.com/projects/261737) @@ -38,7 +39,7 @@ Once you are listed in the [project owners](https://app.codeship.com/orgs/coderb ## If deployment changes ? The host needs to have read access on this reposit to download the deployment branch. -One administrator of this github project has to add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the "[Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys)". +Add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the "[Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys)". Before the first deployment, the reposit has to be downloaded and the deployment branch must be checkout. @@ -46,7 +47,7 @@ Before the first deployment, the reposit has to be downloaded and the deployment cd inventory-server git checkout deployment -If you choose to use pm2 to monitor application, it has to be installed separately. +If you choose to use pm2 + nginx to monitor application, they have to be installed separately (their installation is not triggered by 'npm install'). ## Troobleshooting. If the deployment fails, check that any application on the host is running a service on port 80. diff --git a/build_number b/build_number deleted file mode 100644 index 68c123c..0000000 --- a/build_number +++ /dev/null @@ -1 +0,0 @@ -0.10 From ce801737adba67c92a3b4d946435e62618848152 Mon Sep 17 00:00:00 2001 From: mpsido Date: Sun, 24 Dec 2017 18:39:58 +0800 Subject: [PATCH 13/16] Removing heroku deployment instructions --- README.md | 45 +++++---------------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 2ffd295..f842e27 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,9 @@ Go there for instructions to install npm and nodejs using package manager [there At this point you can go to home page by typing this on your webbrowser: http://127.0.0.1:1234/ +Try also +http://127.0.0.1:1234/search + # Other information: The content are stored on a google spreadsheet. You need permission to edit: https://docs.google.com/spreadsheets/d/1QHKa3vUpht7zRl_LEzl3BlUbolz3ZiL8yKHzdBL42dY/edit @@ -51,14 +54,11 @@ If you choose to use pm2 + nginx to monitor application, they have to be install ## Troobleshooting. If the deployment fails, check that any application on the host is running a service on port 80. -It is possible that the previous time that "invetory-server" had been lauched did not termniate properly and it is still holding the port. +It is possible that the previous time that "inventory-server" had been lauched did not termniate properly and it is still holding the port. -In linux distributions only the root user can run a service listening to 80 port. Ensure you have the right permissions. - -Try also -http://127.0.0.1:1234/search # Contribution + ## Use pull request Avoid pushing straight to the master branch any code that needs review. Please follow the following steps. @@ -85,38 +85,3 @@ Please follow the following steps. git branch -d my_branch #if you don't need that branch anymore you can delete it ## other information the project is structured around [expressjs](https://github.com/expressjs/express) -# Deploy -To deploy inventory-server you need an account a [heroku account](https://signup.heroku.com/dc?_ga=2.174119140.795848951.1511268290-1509905748.1509873833) -#### - [Install heroku](https://devcenter.heroku.com/articles/getting-started-with-python?c=70130000000NhRJAA0&utm_campaign=Onboarding-Nurture-Email-1&utm_medium=email&utm_source=nurture&utm_content=devcenter&utm_term=start-python#set-up) -#### - Once your installation succeded you can login into your account using heroku's command line: - heroku login -## Prepare your workspace -### Prepare it from scratch -#### - Clone this repository then go to the project folder - git clone https://github.com/coderbunker/inventory-server.git - cd inventory-server -#### - In order to quickly create a new deployment of this repository, create your copy repository hosted in their server: https://git.heroku.com. -You can create one with one command: -Skip this step if you want to manage our deployment. - heroku create #will add a remote repository called 'heroku'(ensure you don't have an existing remote with that name) -### Deploy the code you contributed on -#### - Clone this repository then go to the project folder - git clone https://github.com/coderbunker/inventory-server.git - cd inventory-server -#### - In order to administrate our release you can run the following commands (requires access rights). - git remote add heroku https://git.heroku.com/enigmatic-brushlands-32514.git - -### Create a separate repository that tracks the deployment -#### - Or, if you want to work in a dedicated repository you can do this that way - heroku git:clone -a enigmatic-brushlands-32514 - cd enigmatic-brushlands-32514 - -## Release your work -#### - Push the version of the repository you want to deploy on the 'heroku' remote, for instance if you want to deploy your master branch type: - git push heroku master - #No matter the local branch you are pushing, it is recommended to push on heroku remote's master branch - git push heroku my_branch:master #only if you are using a different branch -#### - Finally just deploy the app you just pushed using this command. - heroku ps:scale web=1 - -Et voilĂ  \ No newline at end of file From 0951154323a2d78755e6a427c611c1bee56ea968 Mon Sep 17 00:00:00 2001 From: mpsido Date: Wed, 27 Dec 2017 08:53:31 +0800 Subject: [PATCH 14/16] Running on one cluster --- process.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/process.yml b/process.yml index 0b94a00..7fb5825 100644 --- a/process.yml +++ b/process.yml @@ -1,6 +1,6 @@ apps: - script : app.js - instances: 4 + instances: 1 exec_mode: cluster name: inventory-server env: From 532b17a9a32842ef01295cabab310298f665dfa8 Mon Sep 17 00:00:00 2001 From: mpsido Date: Mon, 1 Jan 2018 23:51:23 +0800 Subject: [PATCH 15/16] Creating PROVISIONING.md file and moving deployment detailed descriptions in that file --- PROVISIONING.md | 32 ++++++++++++++++++++++++++++++++ README.md | 32 ++++---------------------------- 2 files changed, 36 insertions(+), 28 deletions(-) create mode 100644 PROVISIONING.md diff --git a/PROVISIONING.md b/PROVISIONING.md new file mode 100644 index 0000000..f7a6771 --- /dev/null +++ b/PROVISIONING.md @@ -0,0 +1,32 @@ +# Current deployment method + +The deployment is triggered when something is pushed on [deployment](https://github.com/coderbunker/inventory-server/tree/deployment) branch using [codeship](http://codeship.com/). + +The server hosting the deployment runs the webapp using pm2 as suggested in [this tutorial](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04). + +pm2 uses [process.yml](https://github.com/coderbunker/inventory-server/blob/deployment/process.yml) configuration file. + +The hosting itself works with an nginx service forwarding the requests to the local web application. + + +## Codeship administration +Once you are listed in the [project owners](https://app.codeship.com/orgs/coderbunker/teams/owners) you can: +* see deployments history: [Codeship dashboard](https://app.codeship.com/projects/261737) +* manage deployment scripts [Codeship administration page](https://app.codeship.com/projects/261737/deployment_branches/187689) + + +# How to prepare the host + +#### Allow host's ssh keys to access this repository +The host needs to have read access on this reposit to download the deployment branch. + +Add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the "[Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys)". + +Before the first deployment, the reposit has to be downloaded and the deployment branch must be checkout. + + git clone git@github.com:coderbunker/inventory-server.git + cd inventory-server + git checkout deployment + +#### Install hosting programs +If you choose to use pm2 + nginx to monitor application, they have to be installed separately (their installation is not triggered by 'npm install'). diff --git a/README.md b/README.md index f842e27..622ad24 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@ http://127.0.0.1:1234/ Try also http://127.0.0.1:1234/search +## Troobleshooting. +If the application is not starting, check that if there is any application already using port 1234. +It is also possible that the previous time that "inventory-server" had been lauched did not termniate properly and it is still holding the port. + # Other information: The content are stored on a google spreadsheet. You need permission to edit: https://docs.google.com/spreadsheets/d/1QHKa3vUpht7zRl_LEzl3BlUbolz3ZiL8yKHzdBL42dY/edit @@ -28,34 +32,6 @@ The website is published on the domain name url.coderbunker.com The deployment is automatically triggered when something is pushed on the [deployment branch](https://github.com/coderbunker/inventory-server/tree/deployment). -The deployment uses pm2 as suggested in [this tutorial](https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04). - -pm2 uses [process.yml](https://github.com/coderbunker/inventory-server/blob/deployment/process.yml) configuration file. - -The hosting itself works with an nginx service forwarding the requests to the local webapplication. - -Once you are listed in the [project owners](https://app.codeship.com/orgs/coderbunker/teams/owners) you can: -* see deployments history: [Codeship dashboard](https://app.codeship.com/projects/261737) -* manage deployment scripts [Codeship administration page](https://app.codeship.com/projects/261737/deployment_branches/187689) - - -## If deployment changes ? -The host needs to have read access on this reposit to download the deployment branch. - -Add the ssh keys of the new host (the content of the file: ~/.ssh/id_rsa.pub) on the "[Deploy keys section](https://github.com/coderbunker/inventory-server/settings/keys)". - -Before the first deployment, the reposit has to be downloaded and the deployment branch must be checkout. - - git clone git@github.com:coderbunker/inventory-server.git - cd inventory-server - git checkout deployment - -If you choose to use pm2 + nginx to monitor application, they have to be installed separately (their installation is not triggered by 'npm install'). - -## Troobleshooting. -If the deployment fails, check that any application on the host is running a service on port 80. -It is possible that the previous time that "inventory-server" had been lauched did not termniate properly and it is still holding the port. - # Contribution From 804422855e19af426b1886d20f2b244c3d4e4ec9 Mon Sep 17 00:00:00 2001 From: mpsido Date: Tue, 13 Feb 2018 19:21:10 +0800 Subject: [PATCH 16/16] adding pm2 as a dev dependancy --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 32b1a89..445554d 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "eslint": "^4.6.1", "eslint-config-airbnb-base": "^12.0.0", "eslint-plugin-import": "^2.7.0", + "pm2": "^2.9.3", "pre-commit": "^1.2.2" } }