salt遠程實現go編譯重啓

使用salt實現jenkins發版時,遠程對go項目編譯重啓bash

一、go 版本1.12 使用go mod服務器

二、設置go鏡像ui

  GOPROXY="https://goproxy.io"spa

三、slat 腳本code

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

四、build.shserver

#!/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

解釋:blog

  一、筆者的可執行文件叫  courseware進程

  二、遇到go 命令找不到,是由於遠程機沒法獲取go的環境變量,因此,執行一下  source /etc/profile ip

  三、執行完腳本最後要 exit,由於使用nohup並不會本身退出cmd

  四、若是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"
相關文章
相關標籤/搜索