rust-call 0.1.3

Make remote development more elegant
rust-call-0.1.3 is not a library.

Call: Make remote development more elegant

License

Build Status


What does it do

Call is an easy-to-use command tools for remote development. It helps you to build remote development easily and elegant. It can work with makefile and justfile.

Call provides three ways.

  • openssh SSH Login Without Password

  • password SSH Login With Password

  • keypair SSH Login With Private Key File

Quick Start

It is super easy to get started with your first project.

Step 1: install call command tools

cargo install --git  https://github.com/bingryan/call.git

or

cargo install rust-call

Step 2: init call

cd your_project_homepage
call i

there will be a call.yml file at your_project_homepage. Then you can configure call.yml。such as:

call:
  config:
    active:
      openssh:
        - dev  # active server label
    runner: make  # make -> makefile , just -> justfile
  mapping:
      src: . # current dir
      dest: ~/workspace/call  # remote path
      exclude: # Ignored directories in .gitignore will also be ignored
          - ./target
          - README.md
  server:
        openssh:
          dev: # label for openssh server
              host:
                - 192.168.2.49 # multiple
              port: 22
              authentication_type: openssh
              username: rust # remote server username


Step 3: run call

replace make xxx with call xxx command, when your project has makefile.

replace just xxx with call xxx command, when your project has justfile.

Requirements

  • openssh (rsync)
  • password (rsync,sshpass)
  • keypair (rsync)
# Debian/Ubuntu
$ sudo apt-get install rsync
$ sudo apt-get install sshpass

# Red Hat
$ sudo yum install rsync
$ sudo yum install sshpass

# Arch Linux
$ sudo pacman -S rsync
$ sudo pacman -S sshpass

# MacOS
$ brew install rsync
$ brew install http://git.io/sshpass.rb(if notwork, copy raw content to `sshpass.rb`: brew install sshpass.rb)

Contributing

Contributors are welcomed to join this project. Please check CONTRIBUTING about how to contribute to this project.