debian-node-deploy
v1.3.9
Published
Unifying deployment tasks for my production server
Downloads
6
Readme
debian-node-deploy
Here is a little module I made to simplify my deployments needs.
How to use
Install locally
npm install debian-node-deploy
or
yarn add debian-node-deploy
create the config file on your app root : deploy.config.json
.
Here is a sample configuration for node apps:
{
"envFile": ".env.production",
"host": "my-production-server.org",
"port": 22,
"user": "myusername",
"sshKey": "/path/to/ssh/key",
"filesRestoryPath": "/where/to/send/the/archive/containing/the/code/to/deploy",
"deployPath": "/where/to/deploy/the/app/on/production/server",
"appPreStopCommands": [],
"appPostStopCommands": [],
"appPreStartCommands": [],
"appPostStartCommands": []
}
For a single page applications, we need to specify two more properties:
{
"envFile": ".env.production",
"host": "my-production-server.org",
"port": 22,
"user": "myusername",
"password": "my password",
"sshKey": "/path/to/ssh/key",
"filesRestoryPath": "/where/to/send/the/archive/containing/the/code/to/deploy",
"deployPath": "/where/to/deploy/the/app/on/production/server",
"websiteDomain": "mywebsite.com",
"appPreStopCommands": [],
"appPostStopCommands": [],
"appPreStartCommands": [],
"appPostStartCommands": []
}
The last four properties allow you to specify commands to execute before/after stopping the previous version in production and before/after starting the app.
Usage
You can trigger a deploy from cli or from code. There is two types of deployments available:
- Node application
- Single page application
cli
Here is an example to add a deploy task to the scripts section of package.json.
"scripts": {
"deploynodeapp": "npm run build && deployNodeApp",
"deployspa": "npm run build && deploySinglePageApp"
},
js
import deployNodeApp from "debian-node-deploy";
(async () => {
await deployNodeApp(); // To deploy a node app
await deployspa(); // or to deploy a spa
})();