Table of Contents
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
Functions currently implemented:
-
step1: synchronize data to the specified server
-
step2: execute commands on the remote server
It is super easy to get started with your first project.
cargo install --git https://github.com/bingryan/call.git
or
cargo install rust-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
replace make xxx
with call xxx
command, when your project has makefile.
replace just xxx
with call xxx
command, when your project has justfile.
- 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)
-
Call Server(Relay Server): relay server which is able to coordinate with clients to establish connectivity(use other port forward tools). - default template(Put the template.yml under ~/.call/template.yml and copy it directly when run: call i)
Contributors are welcomed to join this project. Please check CONTRIBUTING about how to contribute to this project.