-
Notifications
You must be signed in to change notification settings - Fork 0
Why Syncl2r?
Nick edited this page Sep 28, 2023
·
1 revision
SyncL2R是一个本地和远程文件同步和部署工具,集成了多种功能。它可以通过一行命令来上传本地文件到远程服务器,并支持配置忽略文件、正则表达式匹配、手动同步文件和一键部署任务触发等功能。此外,它还支持自定义动作和提供漂亮的终端输出。
我们可以简单地理解为它是一个离线的,针对单个项目的,小型流水线部署工具。
该工具适用于以下场景:在本地进行开发后,需要将项目部署到服务器上,没有大规模的项目和自定义流水线的情况下。使用SyncL2R可以将繁琐的上传代码、登录服务器和手动部署的步骤简化为一行命令。
现在我们有一个假设是fastapi作为后端,远程连接数据库的后端服务,对于每次代码修改后需要更新到服务器的情况,我们有两个可选方案:
- 代码上传到远程代码托管平台,然后在服务器上拉取更新。
- 使用ssh远程连接服务器,上传文件并手动执行部署命令。
- 使用流水线进行部署任务
大多数情况下我们并不会将敏感数据上传到远程代码托管平台,但是部署任务又确实需要这些文件(比如nodejs项目中经常使用的.env)。这个时候我们大部分情况下只能用方案二进行手动同步,
这个方案确实能够解决所有问题,我在这里列举一下一般步骤:
- 打开一个ssh client
- 打开一个sftp client
- 在ssh中手动停止之前的任务(为了上传文件不被占用)
- 使用sftp上传文件
- 在ssh中手动运行启动任务
- 启动之后再手动进行检测,项目是否正确运行
方案二还是有些烦琐了,步骤较多
方案三是一个完美的解决方案,可以极大地简化部署流程,但是问题在于一般人(项目规模较小)并没有流水线。,假如你部署了一个流水线,但是对于小团队来讲,流水线大多数时候处于一个空置的状态,不是很有必要。
为了给中小项目提供更方便的部署方案,syncl2r是一个离线的,针对单个项目的,小型流水线部署工具。