利用 PyCharm 實(shí)現(xiàn)本地代碼和遠(yuǎn)端的實(shí)時(shí)同步功能
我們知道在國內(nèi)使用 Docker,無論是 Pull、Build 還是 Push 鏡像都十分慢,因?yàn)楫吘购芏嘣炊际菄獾脑?,下載和上傳慢是必然的現(xiàn)象。
最近我在寫的項(xiàng)目都是用 Docker 運(yùn)行起來的,在測試的時(shí)候,我可能需要先 Build 一下然后跑起來測試下邏輯有沒有問題。
在我自己本地機(jī)器上構(gòu)建就有這么幾個(gè)問題,一個(gè)問題當(dāng)然就是速度慢,我用的肯定是國內(nèi)的上網(wǎng)線路,有時(shí)候用個(gè)新鏡像,半天 Pull 不下來,而且有的鏡像是一些私有鏡像,不好弄加速器,有的公開鏡像試了幾個(gè)加速器效果也不理想。另外一個(gè)問題當(dāng) Build 鏡像的時(shí)候,如果涉及到一些編譯的過程,就會(huì)占用我的本地機(jī)器的 CPU 資源,有時(shí)候搞得還挺卡。
所以,我干嘛不把這些 Build 的過程挪到服務(wù)器上來搞呢?如果我有一臺(tái)國外的服務(wù)器,還能解決速度問題,另外還不會(huì)占用我本地機(jī)器的 CPU 資源。
但問題是,我要在自己機(jī)器上寫代碼呀,編譯和運(yùn)行又在遠(yuǎn)端,那代碼怎么同步到遠(yuǎn)端呢?
那么本節(jié)就來介紹下一種本地代碼實(shí)時(shí)同步遠(yuǎn)程服務(wù)器的方法吧。
其實(shí)這個(gè)功能我用了好久了,但之前一直用起來感覺略雞肋,因?yàn)槊獠涣说倪€需要在遠(yuǎn)端配置一下運(yùn)行環(huán)境才能跑,不過后來切到 Docker 運(yùn)行的話,就舒服多了。如果大家用 Docker 運(yùn)行項(xiàng)目的話,推薦大家可以試下。
要求
在這開始之前要求有一臺(tái)遠(yuǎn)程 Linux 服務(wù)器,安裝好 Docker 即可。另外當(dāng)然還需要能 SSH 遠(yuǎn)程訪問,這是必須的。另外如果是海外的服務(wù)器是最好的了,構(gòu)建鏡像速度會(huì)更快。
另外這里我是用 PyCharm 實(shí)現(xiàn)的遠(yuǎn)程同步功能,如果大家寫 Python 多的話當(dāng)然是推薦 PyCharm。不過其他的 JetBrains IDE 也基本都帶著這個(gè)功能,所以如果用其他的 JetBrains IDE 也是 OK 的。注意,這里必須要用的是專業(yè)版,只有專業(yè)版才有這個(gè)功能。
配置
好,我們要實(shí)現(xiàn)的是本地代碼實(shí)時(shí)同步服務(wù)器的功能。利用 PyCharm 自帶的組件我們輕松實(shí)現(xiàn)這個(gè)功能。
PyCharm 有一個(gè) SFTP 部署模塊,可以幫助我們把本地的代碼實(shí)時(shí)同步到遠(yuǎn)端。
好,首先 PyCharm 打開任意一個(gè)項(xiàng)目,在這里我就以自己的項(xiàng)目為例了。
接著我們點(diǎn)擊 PyCharm 的 Tools -> Deployment -> Configuration,這里我們可以配置遠(yuǎn)程 SFTP 服務(wù)器,如圖所示:
打開之后是這樣子,這里選擇 SFTP,然后填入服務(wù)器的連接信息,如圖所示:
在這里可以點(diǎn)「TEST CONNECTION」測試下是否能夠連接成功。
OK,配置完了之后,我們已經(jīng)成功添加好了一臺(tái)遠(yuǎn)程服務(wù)器了,比如我這里就添加了一臺(tái)我自己的服務(wù)器,Host 為 vm1.cuiqingcai.com。
既然要實(shí)現(xiàn)本地和服務(wù)器文件同步,那么當(dāng)然必須要指定本地項(xiàng)目文件夾和遠(yuǎn)程哪個(gè)文件夾同步吧。在哪里指定呢?切換到第二個(gè)選項(xiàng)卡,Mappings,如圖所示:
這里我們可以通過選擇 LocalPath 和 Deployment Path 分別指定本地和遠(yuǎn)程的文件夾名稱。注意這里后者指的是相對服務(wù)器工作目錄的路徑。
好了,就是這樣,基本配置就完成了。如果你還想配置某些路徑不同步的話,還可以在第三個(gè)選項(xiàng)卡 Excluded Paths 里面配置。
接著,還有一些可以配置的地方,點(diǎn)擊 Tools -> Deployment -> Options 我們可以配置更多細(xì)節(jié),如圖所示:
比如這里我就配置了下什么時(shí)候上傳,這里我改成了按 Ctrl + S 保存的時(shí)候再上傳,這樣我可以自由控制上傳的時(shí)機(jī)。
另外這里還需要把自動(dòng)上傳勾選上,如圖所示:
好了,整個(gè)都配置好啦。
測試
接下來我們上傳下試試吧,可以點(diǎn)菜單里面的 Upload to 選項(xiàng)來上傳代碼。
點(diǎn)擊上傳之后,PyCharm 會(huì)單獨(dú)開一個(gè) File Transfer 窗口來顯示文件上傳的結(jié)果,如圖所示:
這樣就上傳完畢了。
接著我們?nèi)我庑薷囊粋€(gè)文件,按保存,即 Ctrl + S,這里就出現(xiàn)了自動(dòng)上傳的日志,提示某個(gè)文件被上傳成功了。
OK,驗(yàn)證沒問題。
遠(yuǎn)程 SSH
當(dāng)然 PyCharm 還提供了遠(yuǎn)程 SSH Termial 的功能,直接點(diǎn)選 Tools -> Start SSH Session 即可,如圖所示:
點(diǎn)了之后就會(huì)提示選擇哪個(gè)遠(yuǎn)程服務(wù)器,選了之后,下方 Terminal 就彈出來了,和普通的 SSH Shell 一模一樣。
OK,接下來要構(gòu)建鏡像,我只需要運(yùn)行對應(yīng)的 docker-compose 命令就好了,速度瞬間就上來了,我再也不用看著龜速的下拉速度而發(fā)愁了,而不用擔(dān)心本地機(jī)器的資源消耗了。
OK,美滋滋。
構(gòu)建完了運(yùn)行之后,直接遠(yuǎn)程訪問就好了。
注意:這里記得把服務(wù)器的安全組限制打開,以免出現(xiàn)遠(yuǎn)程端口無法訪問的問題。
到此這篇關(guān)于利用 PyCharm 實(shí)現(xiàn)本地代碼和遠(yuǎn)端的實(shí)時(shí)同步功能的文章就介紹到這了,更多相關(guān)PyCharm 代碼和遠(yuǎn)端實(shí)時(shí)同步內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas.DataFrame重置列的行名實(shí)現(xiàn)(set_index)
本文主要介紹了Pandas.DataFrame重置列的行名實(shí)現(xiàn)(set_index),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02python實(shí)現(xiàn)簡易的學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡易的學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05python?OpenCV實(shí)現(xiàn)圖像特征匹配示例詳解
這篇文章主要為大家介紹了python?OpenCV實(shí)現(xiàn)圖像特征匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04