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

2020-05-10 02:08:36 +08:00
 wq67200976

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

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

3209 次点击
所在节点    Go 编程语言
4 条回复
blackboom
2020-05-10 02:17:04 +08:00
go build main.go 会自动下载依赖并编译出目标平台可执行文件,后面将可执行文件分发到各服务器进行版本更新,以上方式较为原始。

即用 Docker 的多步构建比较优雅。
cnbattle
2020-05-10 09:37:58 +08:00
个人用 gitea drone 做的 , 自动 scp 到服务器,重启对应服务,没用 docker
qloog
2020-05-10 10:02:52 +08:00
1 、专门找一台机器 git pull 下来代码后
2 、编译
3 、将编译后的二进制文件和配置文件通过 rsync 的方式同步到目标机器(一般是多台)
4 、在目标机器上 使用 Supervisord 重启 go 服务
5 、上线完成
kaifang
2020-05-10 10:14:38 +08:00
个人使用的是自建 gitlab,用 gitlab ci 部署,在目标机装 gitlab-ci,docker,git push 自动触发编译、测试、部署。环境配置好之后很方便,网页上也很方便回滚版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/670157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX