zoukankan      html  css  js  c++  java
  • 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"
  • 相关阅读:
    【MySQL】GTID小结
    MongoDB副本集--Secondary节点实例恢复
    【linux】glibc升级
    001.LVM简介
    008.FTP单独虚拟用户
    007.FTP虚拟用户访问
    006.FTP用户访问控制配置
    005.FTP本地用户访问
    004.FTP匿名用户访问
    003.FTP客户端连接
  • 原文地址:https://www.cnblogs.com/xbblogs/p/10919882.html
Copyright © 2011-2022 走看看