This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

rocketry

0.9.1 • Public • Published

rocketry

rocketry

Simple deployment automation & continuous delivery for Node.js projects.

NPM Status NPM Download Stats License Ci Build Coverage Status


The Problem

Services like DigitalOcean's droplets and Linode's linodes make it super easy to create deployment targets for websites and other Node.js projects. However, there are still a lot of manual steps developers have to do in order to ship the app: install Node, install a runner like pm2 or forever, install system security patches, zip up & upload the app, create the necessary target directories, and more.

The Solution

Once you define a single configuration .rocketryrc file, you can run npx deploy run and everything will be handled for you. Then, with a few other small steps, you can automate the entire process via a CI tool so deployments occur automatically anytime you push changes to your master branch.

Installation & Usage

For instructions on how to use the tool, see /docs.

Goals & Roadmap

These are the goals for this project:

  • [x] Installation & setup of target server
    • [x] Install node and upgrade it to the latest version
    • [x] Install yarn and upgrade it to the latest version
    • [x] Install pm2 and upgrade it to the latest version
    • [x] Upgrade apt-get packages to ensure the latest system security patches are installed
  • [x] Automation of deployment steps
    • [x] Create target directories on target server
    • [x] Upload local project files to target server via SSH
    • [x] Install/upgrade node dependencies on target server
    • [x] Start/restart of services on target server
    • [x] Start the application if it's the first deployment, otherwise restart it for updates
    • [x] Integration with CI systems for automated deployment triggers
    • [x] Automated deployments via username & password
    • [ ] Automated deployments via SSH key
    • [ ] Seamless deployments without downtime

Other Solutions

How does this project differ from similar existing public projects?

  • Netlify - It's incredible, but not free past a certain point
  • Vercel - Also incredible, but not free past a certain point
  • dploy - Doesn't support server-side package upgrades
  • dployr - Assumes the Git project is accessible from the server
  • shipit - JavaScript-based (as opposed to configuration-based) and doesn't support server-side package upgrades
  • zaz - Assumes the Git project is accessible from the server

Contributing

Contributions for bug fixes and new features are welcome via Pull Requests.

Publishing a New Version

  • Set the version you want in package.json (or leave it as is for an auto patch version bump)
  • Set the same version in CHANGELOG.md and put today's date and changes
  • Run npm run release
  • Set the next version in package.json
  • Add the next block to the CHANGELOG.md
  • Set git tag on the released commit

Simulate a Deployment

To simulate a deployment (to test the script), clone this project and run:

yarn start

LICENSE

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Published

Version History

  • Version
    Downloads (Last 7 Days)
    • Published

Package Sidebar

Install

npm i rocketry

Weekly Downloads

23

Version

0.9.1

License

MIT

Unpacked Size

37.1 kB

Total Files

9

Last publish

Collaborators

  • globexdesigns