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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2017-05-24 NPOI之C#下载Excel