6 个版本
使用旧的 Rust 2015
0.2.2 | 2018 年 12 月 12 日 |
---|---|
0.2.1 | 2018 年 12 月 12 日 |
0.1.2 | 2018 年 11 月 27 日 |
0.1.1 | 2018 年 5 月 11 日 |
#1643 在 开发工具 中
26KB
545 行
Slink:简单的基于 SSH 的远程开发环境
export SLINK_HOST=remote-devbox.mydomain.com
# sync the current directory to the remote machine:
slink sync up
# Run a command on the remote machine in the synced directory:
slink run "ls -la"
# SSH into the machine and change to the synced directory:
slink go
# Forward ports 8080 and 4443 on your local machine to the same ports on your
# remote machine:
slink forward 8080 4443
# Forward port 80 on your local machine to 80 on the remote machine -- slink
# will automatically prompt for sudo as necessary
slink forward 80
Slink 被设计为简化远程开发环境的创建和使用。它允许你将远程机器视为本地机器的镜像;它会同步目录,保持相同的目录结构,在远程机器上打开与你的 PWD 镜像的 shell,等等。它通过 SSH、rsync 和 scp 抽象化,提供了一个简单的界面来与远程开发环境交互,并通过单个缓存的 SSH 连接来多路复用所有连接以提高性能。
Slink 假设你希望远程机器能够有效地镜像本地机器的目录结构:预期是,你将远程机器视为你的本地机器,但可能在不同的硬件、不同的操作系统等。
命令
slink go
:SSH 到机器,切换到 PWD 的镜像(如果存在)。slink run <命令>
:在机器上运行命令。自动分配 PTY,以便交互式命令能够正确工作。slink forward <端口...>
:从本地机器转发端口到远程机器上的相同端口。slink sync up
:通过 rsync 将当前目录同步到远程机器,如果位于 $HOME,则保持从 $HOME 的相对路径,否则从根目录。slink sync down
:与sync up
相反。slink upload <文件>
:将文件上传到远程机器,如果位于 $HOME,则从 $HOME 的相对位置上传,否则从根目录上传。还有一个可选的--to <文件>
标志,可以将本地文件上传到远程机器上的任意路径。slink download <文件>
:与upload
相反。有一个可选的--from
标志,可以从远程的任意路径下载文件。
主机配置
要为Slink设置默认主机,请编辑您的.bashrc
(或.zshrc
,或与您的shell相关的文件)以导出SLINK_HOST
环境变量。从那时起,所有新的shell会话都将默认使用该主机。例如
Bash或Zsh
# In your .bashrc or .zshrc:
export SLINK_HOST=remote-devbox.mydomain.com
Fish
# In your config.fish
set -x SLINK_HOST remote-devbox.mydomain.com
在单个shell会话中,您可以使用相同的语法来更改整个shell会话的默认主机
Bash或Zsh
# In any shell session:
export SLINK_HOST=remote-devbox.mydomain.com
Fish
# In any shell session:
set -x SLINK_HOST remote-devbox.mydomain.com
环境变量也可以轻松地设置单个命令的主机
Bash或Zsh
SLINK_HOST=other-devbox.mydomain.com slink go
Fish
env SLINK_HOST=other-devbox.mydomain.com slink go
在之前的版本中,Slink使用配置文件来存储当前主机。虽然这使得使用单个机器作为远程变得非常简单,但使得管理多台机器变得痛苦,尤其是如果您尝试在多个shell会话中同时管理它们,或者在使用自动化包装脚本时使用Slink。环境变量设置起来几乎一样简单,但使得管理多台机器变得更加简单。
依赖关系
~4.5MB
~86K SLoC