问答

golang生产上如何部署发布的?配合jenkins的一个流程是怎样的

作者:admin 2021-08-20 我要评论

熟悉PHP和jenkins的一套流程,对静态语言不太熟悉想要了解下Golang在实际项目中的部署发布流程?只是单应用,没有用到docker go的项目中包管理是使用Go_Module的...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

熟悉PHP和jenkins的一套流程,对静态语言不太熟悉想要了解下Golang在实际项目中的部署发布流程?只是单应用,没有用到docker

go的项目中包管理是使用Go_Module的,代码库中需要上传vendor文件夹吗?还是说在打包的服务器配置好环境后,jenkins拉完代码后执行go mod download ,go mod vendor最后在build后把二进制发到其他服务器。 描述的可能不准确,请教一下大家大致的一个流程。

###

编译 & 发布

主要就两点,第一要静态编译,将GOOS和GOARCH设置对应的系统,然后编译那个系统下的二进制文件;第二单文件可以直接传文件,多文件就删除多余的文件保留运行需要的文件,然后tar包压缩再传输。传输直接用Jenkins ssh插件传,然后解压执行下重启命令或脚本;或者使用ssh传递到发布包中间存储服务器,然后发布平台再去操作。

# 或者插件
git clone .../xxx
# 静态编译
cd xxx
GO111MODULE=on CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags "-s -w" -o app app.go 
rm -rf xx xx2
# 压缩包
cd -
tar -zcvf xxx.tar.gz xxx

依赖

依赖需要看自己依赖管理方式,个人推荐使用goproxy server搭建内部包缓存服务器。上传vendor是很可靠的方法,第三方依赖有些太不稳定了。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 使用箭头函数return数据不能实现

    使用箭头函数return数据不能实现

  • 个人小程序号能接入小程序3D地图吗?

    个人小程序号能接入小程序3D地图吗?

  • vue 移动端项目中,使用了better-scrol

    vue 移动端项目中,使用了better-scrol

  • css如何做出区域平均划分为四列

    css如何做出区域平均划分为四列

腾讯云代理商
海外云服务器