Skip to content

Why Syncl2r?

Nick edited this page Sep 28, 2023 · 1 revision

SyncL2R

他是做什么的

SyncL2R是一个本地和远程文件同步和部署工具,集成了多种功能。它可以通过一行命令来上传本地文件到远程服务器,并支持配置忽略文件、正则表达式匹配、手动同步文件和一键部署任务触发等功能。此外,它还支持自定义动作和提供漂亮的终端输出。

我们可以简单地理解为它是一个离线的,针对单个项目的,小型流水线部署工具。

适用的场景

该工具适用于以下场景:在本地进行开发后,需要将项目部署到服务器上,没有大规模的项目和自定义流水线的情况下。使用SyncL2R可以将繁琐的上传代码、登录服务器和手动部署的步骤简化为一行命令。

场景举例

现在我们有一个假设是fastapi作为后端,远程连接数据库的后端服务,对于每次代码修改后需要更新到服务器的情况,我们有两个可选方案:

  1. 代码上传到远程代码托管平台,然后在服务器上拉取更新。
  2. 使用ssh远程连接服务器,上传文件并手动执行部署命令。
  3. 使用流水线进行部署任务

方案一分析

大多数情况下我们并不会将敏感数据上传到远程代码托管平台,但是部署任务又确实需要这些文件(比如nodejs项目中经常使用的.env)。这个时候我们大部分情况下只能用方案二进行手动同步,

方案二分析

这个方案确实能够解决所有问题,我在这里列举一下一般步骤:

  1. 打开一个ssh client
  2. 打开一个sftp client
  3. 在ssh中手动停止之前的任务(为了上传文件不被占用)
  4. 使用sftp上传文件
  5. 在ssh中手动运行启动任务
  6. 启动之后再手动进行检测,项目是否正确运行

方案二还是有些烦琐了,步骤较多

方案三分析

方案三是一个完美的解决方案,可以极大地简化部署流程,但是问题在于一般人(项目规模较小)并没有流水线。,假如你部署了一个流水线,但是对于小团队来讲,流水线大多数时候处于一个空置的状态,不是很有必要。

SyncL2R

为了给中小项目提供更方便的部署方案,syncl2r是一个离线的,针对单个项目的,小型流水线部署工具。

Clone this wiki locally