JetBrains 系列 IDE 快速部署項目到遠程服務器

JetBrains 系列 IDE 一直是我開發的主力工具,在開發時往往選擇在本機進行運行和調試。這樣毫無疑問是很高效的開發方式,但有時我們希望在更接近於線上的環境中進行調試,那麼如何使此次的修改快速見效(部署以及運行)是需要解決的關鍵問題之一。

JetBrains GoLand、JetBrains WebStorm 和 IntelliJ IDEA 是我用得最多的 IDE,接下來以一個用 go 開發的前後端分離的網站爲例說明如何快速使修改在服務器上部署並見效。

準備並配置好服務器

項目的前端部分將部署在服務器 A 上,使用 nginx 進行代理,後端部分部署在 B 服務器上,前端通過 RESTful api 的方式調用後端。

服務器 A 需要裝好 nginx,配置監聽 80 端口,這裏以我的個人網站爲例:

root@vultr:~# cat /etc/nginx/sites-available/my 
server {
	listen 80;

	server_name www.duanjn.com duanjn.com;
        root /usr/duan/nginx/sites/www/duanjn.com;
        index index.html;

	location / {
                 try_files $uri $uri/ =404;      
	}

        access_log /usr/duan/nginx/logs/my.access.log;
        error_log /usr/duan/nginx/logs/my.error.log;
}

可見網站的靜態資源保存在 /usr/duan/nginx/sites/www/duanjn.com 目錄下。此外還需將域名解析到服務器 A。

服務器 B 用於運行後端項目,需要提前安裝好 go。稍後我們可以選擇上傳源碼或上傳可執行程序到服務器的方式進行部署,可執行程序可以選擇任意位置或 /root/go/bin目錄(上傳可執行程序時需要先在本地 build,build 時注意構建環境 GOARCH,GOOS 要指定爲服務器的)。這裏我選擇上傳源碼的方式,上傳目錄在這: /root/go/src/mysite

配置 IDE 連接遠程服務器

JetBrains 系列 IDE 都提供了 Tools -> Deployment 工具,用於快捷的將本地文件上傳到服務器。
在這裏插入圖片描述
先說後端(JetBrains GoLand)的配置,點擊 Configuration 進行配置:
在這裏插入圖片描述
注意 Root path 指的是掛載到的服務器上的目錄。
在這裏插入圖片描述
Local path 指定本地文件的目錄,上傳時該目錄下的所有文件都將被上傳到服務器。Deployment path 爲上傳文件後服務器上保存這些文件的位置,注意這個目錄是基於 Root path 的相對路徑,即如果 Root path 爲 /usr/duan,那麼最終的目錄就是 /usr/duan/root/go/src/mysite,所以上一步我把 Root path 設置爲 /

JetBrains GoLand 和 JetBrains WebStorm 的配置方式都是類似的,不同的是服務器部分的配置:
在這裏插入圖片描述
需要配置對應的服務器。

以及路徑映射部分,JetBrains WebStorm 配置如下:
在這裏插入圖片描述

部署(上傳)並運行

上一步配置好後 IDE 就會顯示上傳按鈕:
在這裏插入圖片描述
點擊 Upload to **,文件就會上傳到服務器。對於前端,因爲我們已經配置並啓動了 nginx,只要文件上傳成功,刷新頁面就能看到最新的效果。

而後端部分我們選擇上傳源碼的方式,因此上傳成功之後需要在 /root/go/src/mysite 下依次執行如下命令運行項目:

go get -v
go build
./mysite # 直接前臺啓動,而不是後臺啓動,這樣下次新的改動上傳需要重新啓動時只需 ctrl+C 後重新執行這三個命令即可

此外對遠程運行的 go 項目,如果想在本地進行 debug,可以藉助 dlv+GoRemote 完成。

Tips

  • ssh 客戶端我使用的是 XShell,IDE 也提供了工具: Tools -> Start SSH session
  • 對於 java 項目我們可以以類似的方式進行部署調試,不同的是可以選擇上傳 jar 或 war 的方式進行部署。
  • 除了上述的方式外還可以藉助 Git 將最新代碼從本地 push 到倉管,然後服務器再從倉庫 pull 最新的
  • 當然還有一種方式是手動上傳文件,推薦藉助 lrzsz 工具
發佈了108 篇原創文章 · 獲贊 47 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章