用到两个开源工具:github.com/go-delve/delve和github.com/cosmtrek/air
delve用于远程debug,air用于热更新
先配置export GOPATH=/root/gocode
再配置export PATH=$GOPATH:bin,这样下载到/root/gocode/bin的可执行文件就能直接敲名字运行起来了.
将自己工程demo的代码复制到GOPATH下
进入/root/gocode/demo目录下载go get github.com/go-delve/delve,
以及go get github.com/cosmtrek/air.
完成后目录如下:
root
==gocode
====demo
======main.go
====bin
======air
======dlv
运行nohup air > cmd.out 2>&1 & echo $!,会打印出pid,这个pid是运行air的进程id,我们需要运行main.go的pid,可以用ps -ef|grep pid 去查找main.go的pid,
再运行dlv --listen=:2345 --headless=true --api-version=2 attach [gopid],
这样就可以在goland里选择remote连接远程主机的2345端口了,可以进行远程调试了.
想要远程更新的话直接用goland的deployment功能上传文件到远程主机就行.