Big changes to resin sync, update your CLI!

The resin command line interface- resin-cli [https://github.com/resin-io/resin-cli]- is a powerful tool we’ve built so you can interact with all the resin services very easily (see the docs [https://docs.resin.io/tools/cli/] for detailed information). The CLI also includes extra functionality to help you develop faster on top of resin- most important of which is resin sync. You can…

The resin command line interface, resin-cli, is a powerful tool we’ve built so you can interact with all the resin services very easily (see the docs for detailed information). The CLI also includes extra functionality to help you develop faster on top of resin, most important of which is resin sync.

You can use resin sync to sync your local changes to a certain device on the fly, without needing to go through a git push/download cycle. This is especially useful when prototyping or testing changes quickly. For example, you have a Python server running on your device and want to change what the server does? Iterate by changing the code and syncing to your test device. When you are satisfied, commit your code to git and push it out to your fleet.

In the upcoming, 5.0.0 release of the resin-cli we are adding a number of changes that will enhance your resin sync experience. It will, however, be also a breaking change! It is coupled with backend/service changes, thus you will need to update to be able to continue to use the CLI!

Changes

  • resin sync --source/-s option is mandatory if a .resin-sync.yml file is not found in the current directory (note: this is the breaking change)
  • resin sync now only accepts uuid as a destination (appName has been deprecated)
  • If you have a resin-sync.yml you will be prompted to change it to a .resin-sync.yml

New features

  • Parse .gitignore for file inclusions/exclusions from resin sync by default (don’t parse with --skip-gitignore)
  • Automatically save options to ${source}/.resin-sync.yml after every run
  • Support user-specified destination directories with --destination/-d option
  • New --after/-a option which allows you to run commands on your dev machine after the sync is complete, useful for clean up

Fixes

  • Disable ControlMaster ssh option

Make sure you upgrade when resin-cli prompts you about the new release! You can do that by running npm i -g resin-cli.

Hope these changes will help you develop with resin. If you have any feedback, leave us a comment below or chat with us on Gitter!


Posted

in

Tags: