npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

deploymaster

v0.1.9

Published

Fast deployment tool

Downloads

4

Readme

Deploy Master

Fast, flexible, clean deployment tool

npm package

Installation

Requirements

DeployMaster is written in node.js, you should have latest stable version of node.

npm

You can install DeployMaster with npm (as root)

npm install -g deploymaster

..and you can run it! deploymaster

Installing from GIT

You can install DeployMaster with git, following commands:

git clone https://github.com/DeployMaster/DeployMaster.git DeployMaster
cd DeployMaster && npm install

Usage

Usage: deploymaster <command> [options..]

command
  init-host            Create new hosting repo
  start-host           Start server for host repo
  init-development     Initialize DeployMaster development repo on this directory
  config               Set repo config
  rm-repo              Remove repo for this directory
  repo-info            Show repository information for this directory
  track                Track for all
  status               Show track status for all
  push                 Push new/modified files to host repo
  production           Set production repo
  password             Set password for host repo
  publish              Publish from connected host repo to deployment repo
  connect              Connect this development repo to main repository
Help for a command
deploymaster <command> --help

Install systemd service

sudo deploymaster install-service

You can remove systemd service with;

sudo deploymaster remove-service

..or you can install/remove for specific port;

sudo deploymaster install-service --port 5053
sudo deploymaster remove-service --port 5053

..or start hosting with a directory

Create a host repository
mkdir /path/to/project_host
cd /path/to/project_host
deploymaster init-host
Notice!

If you did created a systemd service with "install-service" option, you should enter host directory before set it.

It is like this;

cd /var/deploymaster/deploymaster-5053-host

"install-service" option creates host directories like /var/deploymaster/deploymaster-PORT-host

Define a password for host repo
deploymaster password --set NEWPASSWORD
Set TLS for host repo

Enable TLS

deploymaster config --key host.tls.use_tls --value true

Disable TLS

deploymaster config --key host.tls.use_tls --value false
Set SSL/TLS certificate

Set RSA Private Key file

deploymaster config --key host.tls.key_file --value "/path/to/private.key"

Set RSA Public Key (Cert) file

deploymaster config --key host.tls.cert_file --value "/path/to/public.crt"
Start repository hosting

If you don't use systemd service, you can start hosting for any directory.

deploymaster start-host

or

deploymaster start-host --workdir /path/to/project_host

Development side

Create a development repository
mkdir /path/to/project_dev
cd /path/to/project_dev
deploymaster init-development
See config
deploymaster config

Also see

deploymaster config --help
Connect development repo to host repo
deploymaster connect --host 127.0.0.1:5053
Set TLS for development repo

Enable TLS

deploymaster config --key remote.tls.use_tls --value true

Disable TLS

deploymaster config --key remote.tls.use_tls --value false
Connect development repo to production

Create production directory

mkdir /path/to/production

Add production repo to developmen repo

deploymaster production --set production --dir /path/to/production

Set owner and group for production files (for POSIX)

deploymaster production --set production --dir /path/to/production --owner username --group groupname
See status
touch test
echo "test file" >> test
deploymaster status --repo production

If you are using TLS, you'll see this

Certificate fingerprint: 69:5B:97:20:D3:7B:56:08:8C:80:36:FE:6A:41:6F:A5:36:08:4B:E2
Do you trust it ?
(y)es (n)o (p)ermanently: 

If its ok, type "y" or "p" and press enter else type "n" and press enter

Push new/modified files to host

If you have new files;

deploymaster push --repo production
Publish all to production
deploymaster publish --repo production

(New and modified files should be pushed.)

Notice!

New and modified files come from pushed files to host directory.

If you have some changes and 100 new/modified files and pushed it.

When you did;

deploymaster push --repo production
deploymaster publish --production testing

and after testing.. when you did;

deploymaster publish --production production

New/modified 100 files come from host directory.

DeployMaster prefers Testing - Production approach.

Ignorelist

Create .ignorelist.deploymaster file in development repo and production directory

It is like this

/config.php
/config/db.php
/temp
/static

The main approach is two same ignorelists at development and production directories both. But you might be want some specific ignored items for testing or production repos.

Notice!

In development or production sides, DeployMaster will track files in all directories and sub-directories if they are not included in ignorelist.

If you are using only ignorelist in development or production side, DeployMaster will look for all files in other side..

Contributing

If you think you can contribute to DeployMaster, clone, code, commit and create a pull request!

License

MIT