This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 400,000 packages pre-installed, including
deploymaster with all
npm packages installed. Try it out:
deploymaster lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
Fast, flexible, clean deployment tool
DeployMaster is written in node.js, you should have latest stable version of node.
You can install DeployMaster with npm (as root)
npm install -g deploymaster
..and you can run it!
You can install DeployMaster with git, following commands:
git clone https://github.com/DeployMaster/DeployMaster.git DeployMaster cd DeployMaster && npm install
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
deploymaster <command> --help
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
mkdir /path/to/project_host cd /path/to/project_host deploymaster init-host
If you did created a systemd service with "install-service" option, you should enter host directory before set it.
It is like this;
"install-service" option creates host directories like
deploymaster password --set NEWPASSWORD
deploymaster config --key host.tls.use_tls --value true
deploymaster config --key host.tls.use_tls --value false
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"
If you don't use systemd service, you can start hosting for any directory.
deploymaster start-host --workdir /path/to/project_host
mkdir /path/to/project_dev cd /path/to/project_dev deploymaster init-development
deploymaster config --help
deploymaster connect --host 127.0.0.1:5053
deploymaster config --key remote.tls.use_tls --value true
deploymaster config --key remote.tls.use_tls --value false
Create production directory
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
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
If you have new files;
deploymaster push --repo production
deploymaster publish --repo production
(New and modified files should be pushed.)
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.
Testing - Production approach.
.ignorelist.deploymaster file in
development repo and
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
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..
If you think you can contribute to DeployMaster, clone, code, commit and create a pull request!