1.0.6 • Published 4 years ago

rcktship v1.0.6

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

rcktship 🚀

Version downloads Build Status Coverage Status dependencies

Rcktship is a lightweight node.js library used for easily running a series of commands on both your local machine and remote hosts. This is an ideal library for small scale deployments.

Rcktship is heavily inspired by Fabric, which is also a remote command runner written in Python.

Usage

# Install rcktship CLI globally
$ npm install -g rcktship
# or
$ yarn global add rcktship

# or in your project
$ npm install --save-dev rcktship
# or
$ yarn add -D rcktship

# Launch your first rocketship!
$ rocket <target> [mission] [options]

# or locally
$ ./node_modules/.bin/rocket <target> [mission] [options]

Rcktship will look for a top level rcktship.js file in your project, but you can explicitly define a config file by passing in --config

The rocket target is the host, or list of hosts, that you wish to run the mission on. Targets are defined in your rcktship.js file.

A mission is analogous to a Fabric task, which is a predefined set of commands you wish to run.

You must provide a target for your rocket, but you do not have to provide a mission. If you do not provide a mission rcktship will look for a default mission.

Sample rcktship.js file

const rocket = require('rcktship');

rocket.target('prod', [{
  "host": "foo@bar.buz",
  "port": 22,
  "username": "foobar",
  "privateKey": "/Users/foobar",
  "passphrase": "*****"
}]);

rocket.mission('default', async () => {
  console.log('Default mission!');
  await rocket.remote('hostname');
});

rocket.mission('pwd', async () => {
  await rocket.local('pwd');
  await rocket.remote('pwd');
});

To run the above missions:

# Run default task
$ rocket prod

# Run pwd task
$ rocket prod pwd

Connection objects used for targets are ConnectConfig from SSH2. Look there for any documentation on connection configurations.

Development

git clone git@github.com:jerkeeler/rcktship.git
yarn install
yarn start

Make any code changes, add tests, manually test your changes, then submit a pull request.

Testing

yarn test

Rcktship uses jest to do all testing and test coverage. Along with ts-jest for the TypeScript support.

1.0.2

4 years ago

1.0.1

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.0

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.1

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.0

6 years ago