deploy-restart
Deploy an application to a remote Linux machine and restart a service using systemctl or other commands
Install it through:
npm i -D deploy-restart
This module executes three basic steps:
- Stops a service
- Copies files over SCP
- Starts a service
Written in TypeScript. It uses two core node modules:
Usage
; ... const deployRestart = user: 'john' host: '192.168.1.1' localPath: '/home/john/app/dist' remoteDeployPath: '/home/remote/services/app' restart: true serviceName: 'app'; try await deployRestartstart; catch e console;
The start method resolves with void
and rejects with the following object:
stopServiceStatus: boolean; deployStatus: boolean; startServiceStatus: boolean; error: any; //Error thrown by the step that fails
Options
Name | Type | Required |
---|---|---|
user | string | Yes |
host | string | Yes |
localPath | string | Yes |
remoteDeployPath | string | Yes |
privateKeyPath | string | No |
password | string | No |
restart | boolean | No |
If restart
is true, then the following applies:
Name | Default | Type | Required |
---|---|---|---|
serviceName | string | Yes if serviceStartCommand and serviceStopCommand are not provided |
|
serviceStartCommand | sudo systemctl start serviceName |
string | Yes if serviceName is not provided or if serviceStopCommand is provided |
serviceStopCommand | sudo systemctl stop serviceName |
string | Yes if serviceName is not provided or if serviceStartCommand is provided |
In other words, you may either pass serviceName
that will be executed as sudo systemctl start serviceName
or pass both serviceStartCommand
and serviceStopCommand
to use your own commands.
License
MIT