salt远程实现go编译重启

使用salt实现jenkins发版时,远程对go项目编译重启

1、go 版本1.12 使用go mod

2、设置go镜像

  GOPROXY="https://goproxy.io"

3、slat 脚本

sudo salt serverip  cmd.run "/bin/sh   /home/script/build.sh"
serverip:你的服务器

4、build.sh

#!/bin/bash 

#进入项目目录
cd /home/www/projectname
#导出环境变量
source /etc/profile 
#杀掉进程
kill -9 `ps -ef | grep courseware | grep -v grep | awk '{print $2}'`
#编译
go build
#使用nohup启动
nohup ./courseware --release=true >/dev/null 2>&1 &
#打印进程信息
ps -ef | grep courseware | grep -v grep
#最后必须退出
exit

解释:

  1、笔者的可执行文件叫  courseware

  2、遇到go 命令找不到,是因为远程机无法获取go的环境变量,所以,执行一下  source /etc/profile 

  3、执行完脚本最后要 exit,因为使用nohup并不会自己退出

  4、如果GOPATH、GOCACHE 就改下目录

    笔者的go环境变量

export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:$GOROOT/bin
export GOPROXY="https://goproxy.io"
export GOCACHE="/home/GOCACHE/go-build"

 

posted @ 2019-05-24 19:37  .追风逐月  阅读(356)  评论(0编辑  收藏  举报