golang 自动化更新部署服务

  1. 准备
  • 本地生成rsa秘钥,一直回车,不用输入密码
    ssh-keygen -t rsa -C ''
  • 将公钥复制到远程服务器上
    scp ~./ssh/id_rsa.pub user@192.169.1.1:/home/user
  • 在远程服务器上,将公钥添加到可信任秘钥
    cat /home/user/id_rsa.pub >> ~/.ssh/authorized_keys
  • 完成后,本地ssh可免密登录远程服务器
  1. 本地编译
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main -ldflags "-s -w" main.go
  2. 上传
    rsync main user@192.168.1.1:/home/
  3. 重启服务
    ssh -t user@192.168.1.1 "supervisorctl restart main"
  4. 完成

完整shell脚本

 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build   -o   main   -ldflags "-s -w" main.go
 rsync main user@192.168.1.1:/home/
 ssh -t user@192.168.1.1 "supervisorctl restart main"
posted @ 2025-01-21 16:25  黑曼巴后仰  阅读(51)  评论(0)    收藏  举报