deploy-restart
v1.2.2
Published
Deploy an application to a remote Linux machine and restart a service using systemctl or other commands
Downloads
21
Maintainers
Readme
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
import { DeployRestart } from 'deploy-restart';
...
const deployRestart = new DeployRestart({
user: 'john',
host: '192.168.1.1',
localPath: '/home/john/app/dist',
remoteDeployPath: '/home/remote/services/app',
restart: true,
serviceName: 'app'
});
try {
await deployRestart.start();
} catch (e) {
console.error(e);
}
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