步骤:
本地编码main.go
推送部署脚本
编译linux的二进制文件
推送服务器
调用pm2重启(首次在服务器上用pm2 start)
nohub形式,不用任何依赖!棒
遇到坑
scp gomwechat root@101.200.41.141:/opt/projects/wechat/
必须带上最后斜杠,以目录形式才能覆盖原有文件
nohup下加上目录也不可以删除。。。只能先停止服务先了
最终推送脚本
#!/bin/sh#编译linux的二进制文件CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o gomwechat main.go#停止服务先ssh root@101.200.41.140 """ set -x ps -ef|grep 'gomwechat' |grep -v grep|awk '{printf \$2}'|xargs kill -9"""#推送二进制文件scp gomwechat root@101.200.41.140:/opt/projects/wechat/#删除本地二进制文件rm -f gomwechat#启动服务ssh root@101.200.41.140 """ set -x nohup /opt/projects/wechat/gomwechat &"""
最简单目录结构
.
├── main.go // go 源码文件
└── push.sh // 推送部署脚本