使用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 - `ps -ef | grep courseware | grep -v grep | awk '{print $2}'`
#编译
go build
#使用nohup启动
nohup ./courseware --release=true >/dev/null >& &
#打印进程信息
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"

salt远程实现go编译重启的更多相关文章

  1. 用命令实现Win7远程桌面关机和重启

    关机 shutdown -s -t 0 重启 shutdown -r -t 0 打开运行框(Win+R键),输入上述命令即可,后面的数字表示关机/重启延迟的时间 at 12:00 shutdown - ...

  2. 实现Win7远程桌面关机和重启

    通过远程桌面控制Win7系统时,菜单中没有关机和重启按钮, 1.方法1 关机 shutdown -s -t 0重启 shutdown -r -t 0 可以先打开运行框(Win+R键),输入上述命令即可 ...

  3. 基于v4l2 ffmpeg x264的视频远程监控(附上编译好的库文件)

    说明:主要是基于ghostyu网友整理的< arm mini2440 基于v4l2 ffmpeg x264的视频远程监控>.自己做了一遍,遇到不少问题,就整理记录下来. 1.平台 硬件:a ...

  4. 『学了就忘』Linux基础 — 17、远程服务器关机及重启时的注意事项

    目录 1.为什么远程服务器不能关机 2.远程服务器重启时需要注意两点 3.不要在服务器访问高峰运行高负载命令 4.远程配置防火墙时不要把自己踢出服务器 5.指定合理的密码规范并定期更新 6.合理分配权 ...

  5. 不通用版(从SVN取版本,通过MAVEN生成JAVA包,通过SALTSTACK传送到远程服务器并自动重启TOMCAT服务)PYTHON代码

    从昨晚写到今天啊, 第一版测试成功了. PHP和JAVA的更新相对来说,PHP的自动化更新是简单多啦~~ 当然,这只是运维工作当中的一环~~ #!/usr/bin/env python # -*- c ...

  6. Spring Boot 配置 IDEA&DevTools 自编译重启

    MAVEN 配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="ht ...

  7. 远程调用与编译DS作业

    1.编译服务器上的ds作业 dscc /d 服务器地址:端口 /u 用户名 /p 密码 工程名称 /J 作业名称 解释: 作业名称:直接写作业名称即可,不用.pjb 2.执行服务器上的ds作业 dsj ...

  8. Shell 脚本 —— java 代码远程调用shell脚本重启 tomcat

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.创建maven 工程 ​ maven 依赖: <dependency> <grou ...

  9. 编译+远程调试spark

    一 编译  以spark2.4 hadoop2.8.4为例 1,spark 项目根pom文件修改 pom文件新增 <profile> <id>hadoop-2.8</id ...

随机推荐

  1. 项目Beta冲刺(团队)——05.23(1/7)

    项目Beta冲刺(团队)--05.23(1/7) 格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺(团队) 团队名称:为了交项目干杯 作业目标:记录Beta敏捷冲刺第1 ...

  2. Controller的激活(2)

    通过VS 的Controller 创建想到创建的Controller 类型 实际上继承了抽象类System.Web.Mvc.Controller,他是ControllerBase的子类,抽象类Syst ...

  3. HDU4624 Endless Spin 和 HAOI2015 按位或

    Endless Spin 给你一段长度为[1..n]的白色区间,每次随机的取一个子区间将这个区间涂黑,问整个区间被涂黑时需要的期望次数. n<=50 题解 显然是min-max容斥,但是n的范围 ...

  4. 数据分析 - Matplotlib

    简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮助我们完成很多操作,例如:找出异常值.必要的一些数据转换等.完成数据分析 ...

  5. Nuxt项目支持import写法的最新解决方案

    最近在看Nuxt开发vue项目的视频,视频中讲到Nuxt项目不支持es6的import写法.并提供了解决方案: 1.在package.json中添加我标红的部分: "scripts" ...

  6. Dubbo架构及原理

    1.Dubbo:Dubbo是一个分布式服务框架,SOA治理方案. 主要功能有:高性能的NIO通讯以及协议集成.服务动态寻址与路由.软负载均衡与容错.依赖分析与降级 主要特点: 连通性:provider ...

  7. 洛谷P1107 [BJWC2008]雷涛的小猫 题解

    题面 以下是luogu给的标签 但字符串是什么鬼.... 玄学... 哦吼~ #include<cstdio> #include<iostream> using namespa ...

  8. Java接口、lambda的学习

    接口的实现  :  使用interface定义:形式如下 interface Printable{ final int MAX = 100; void add(); float sum(float x ...

  9. word2vector的tensorflow代码实现

    import collections import math import os import random import zipfile import numpy as np import urll ...

  10. js数组reduce()方法的使用和一些应用场景

    reduce()的使用 reduce()方法为归并类方法,最常见的应用场景就是,计算数组中每一项的总和. reduce()方法会遍历数组的每一项,它接收两个参数: 第一个参数是:每次遍历都会调用的函数 ...