Syncjs - Upload changed local files to remote server
Syncjs is an easy to use command line tool for uploading your local changes to a remote server.
It's useful in situations where your application needs to be on a remote server to run (dev machines, pubdev environments, etc.) but you still want to use your local environment for development. You can simply map you local copy of the project to the remote version and syncjs will do the rest.
This example shows usage with Visual Studio Code but since it's an external script, you can use it with any editor you want.
- Easy to setup
- Fast and reliable
- Runs independently from your toolchain so you can use it with anything
- Runs on windows, osx and linux
- detects and handles changes on folders
- can run multiple instances at the same time
Syncjs is easy to install, just execute the following
npm install -g syncjs
After this you'll have
syncjs binary available to you.
Syncjs comes with an init script and sets itself up for you. All you need to do is to
cd into your projects directory and run
syncjs init it will ask few simple questions and create the config file called
sync-config.json make sure you include this file in your
.gitignore because this file might contain passwords or secrets depending on your preferences.
cd /my/project/folder syncjs init
Questions on config
Username: your username that you use to connect to remote machine
- Password in config: This the least secure version of auth. It will keep your password in the config file as plain text do not use this please
- Ask during connect: This option will ask your password again every time you start
syncjsyour password will not be stored anywhere.
- Private Key: Most secure option, just provide the path for your key file and syncjs will do the rest
Hostname or IP of the server: Tell syncjs where to connect
Port to connect: defaults to
22this usually is what you want
Local path: syncjs will automatically detect this as the root of your project, but if you only want to sync one specific folder, provide it here as full path
Remote path: This is where copy of your local folder lives in the remote server. Make sure you type full path here as well.