利用 PyCharm 实现本地代码和远端的实时同步功能

作者:静觅 时间:2022-03-05 08:54:10 

我们知道在国内使用 Docker,无论是 Pull、Build 还是 Push 镜像都十分慢,因为毕竟很多源都是国外的源,下载和上传慢是必然的现象。

最近我在写的项目都是用 Docker 运行起来的,在测试的时候,我可能需要先 Build 一下然后跑起来测试下逻辑有没有问题。

在我自己本地机器上构建就有这么几个问题,一个问题当然就是速度慢,我用的肯定是国内的上网线路,有时候用个新镜像,半天 Pull 不下来,而且有的镜像是一些私有镜像,不好弄加速器,有的公开镜像试了几个加速器效果也不理想。另外一个问题当 Build 镜像的时候,如果涉及到一些编译的过程,就会占用我的本地机器的 CPU 资源,有时候搞得还挺卡。

所以, * 嘛不把这些 Build 的过程挪到服务器上来搞呢?如果我有一台国外的服务器,还能解决速度问题,另外还不会占用我本地机器的 CPU 资源。

但问题是,我要在自己机器上写代码呀,编译和运行又在远端,那代码怎么同步到远端呢?

那么本节就来介绍下一种本地代码实时同步远程服务器的方法吧。

其实这个功能我用了好久了,但之前一直用起来感觉略鸡肋,因为免不了的还需要在远端配置一下运行环境才能跑,不过后来切到 Docker 运行的话,就舒服多了。如果大家用 Docker 运行项目的话,推荐大家可以试下。

要求

在这开始之前要求有一台远程 Linux 服务器,安装好 Docker 即可。另外当然还需要能 SSH 远程访问,这是必须的。另外如果是海外的服务器是最好的了,构建镜像速度会更快。

另外这里我是用 PyCharm 实现的远程同步功能,如果大家写 Python 多的话当然是推荐 PyCharm。不过其他的 JetBrains IDE 也基本都带着这个功能,所以如果用其他的 JetBrains IDE 也是 OK 的。注意,这里必须要用的是专业版,只有专业版才有这个功能。

配置

好,我们要实现的是本地代码实时同步服务器的功能。利用 PyCharm 自带的组件我们轻松实现这个功能。

PyCharm 有一个 SFTP 部署模块,可以帮助我们把本地的代码实时同步到远端。

好,首先 PyCharm 打开任意一个项目,在这里我就以自己的项目为例了。

利用 PyCharm 实现本地代码和远端的实时同步功能

接着我们点击 PyCharm 的 Tools -> Deployment -> Configuration,这里我们可以配置远程 SFTP 服务器,如图所示:

利用 PyCharm 实现本地代码和远端的实时同步功能

打开之后是这样子,这里选择 SFTP,然后填入服务器的连接信息,如图所示:

利用 PyCharm 实现本地代码和远端的实时同步功能

在这里可以点「TEST CONNECTION」测试下是否能够连接成功。

OK,配置完了之后,我们已经成功添加好了一台远程服务器了,比如我这里就添加了一台我自己的服务器,Host 为 vm1.cuiqingcai.com。

既然要实现本地和服务器文件同步,那么当然必须要指定本地项目文件夹和远程哪个文件夹同步吧。在哪里指定呢?切换到第二个选项卡,Mappings,如图所示:

利用 PyCharm 实现本地代码和远端的实时同步功能

这里我们可以通过选择 LocalPath 和 Deployment Path 分别指定本地和远程的文件夹名称。注意这里后者指的是相对服务器工作目录的路径。

来源:https://cuiqingcai.com/9073.html

标签:PyCharm,代码,远端,同步
0
投稿

猜你喜欢

  • python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例

    2022-11-27 15:06:22
  • keras 特征图可视化实例(中间层)

    2021-12-05 22:54:46
  • golang redigo发布订阅使用的方法

    2024-04-29 13:05:23
  • Python模块、包(Package)概念与用法分析

    2022-09-02 13:06:22
  • MYSQL主从库不同步故障一例解决方法

    2010-06-09 19:12:00
  • Python pomegranate库实现基于贝叶斯网络拼写检查器

    2021-06-17 19:27:51
  • MySQL 去除重复数据实例详解

    2024-01-24 13:21:53
  • Django模型修改及数据迁移实现解析

    2022-05-20 10:20:40
  • php引用计数器进行垃圾收集机制介绍

    2023-10-07 22:41:55
  • python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例

    2021-09-24 03:11:51
  • asp实现树型结构

    2008-04-13 06:06:00
  • 模拟兼容性的 addDOMLoadEvent 事件

    2009-07-31 12:37:00
  • 如何将 awk 脚本移植到 Python

    2022-02-28 05:40:52
  • Python实现115网盘自动下载的方法

    2022-08-13 21:57:33
  • Django 博客实现简单的全文搜索的示例代码

    2023-12-07 10:09:19
  • 把pandas转换int型为str型的方法

    2022-02-16 15:45:03
  • Pytest接口自动化测试框架搭建模板

    2022-01-29 02:26:44
  • mysql判断当前时间是否在开始与结束时间之间且开始与结束时间允许为空

    2024-01-23 17:35:43
  • JavaScript实现网页动态生成表格

    2024-04-16 09:24:00
  • MySQL安装配置以及安装失败解决过程

    2024-01-13 18:55:28
  • asp之家 网络编程 m.aspxhome.com