Golang Go语言生产上如何部署发布的?配合 Jenkins 的一个流程是怎样的
Golang Go语言生产上如何部署发布的?配合 Jenkins 的一个流程是怎样的
熟悉 PHP 和 jenkins 的一套流程,想要了解下 Golang 在实际项目中的部署发布流程?只是单应用,没有用到 docker
go 的项目中包管理是使用 Go_Module 的,代码库中需要上传 vendor 文件夹吗?还是说在打包的服务器配置好环境后,jenkins 拉完代码后执行 go mod download,go mod vendor 最后在 build 后把二进制发到其他服务器。 描述的可能不准确,请教一下大家大致的一个流程
更多关于Golang Go语言生产上如何部署发布的?配合 Jenkins 的一个流程是怎样的的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
go build main.go 会自动下载依赖并编译出目标平台可执行文件,后面将可执行文件分发到各服务器进行版本更新,以上方式较为原始。
即用 Docker 的多步构建比较优雅。
更多关于Golang Go语言生产上如何部署发布的?配合 Jenkins 的一个流程是怎样的的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
个人用 gitea drone 做的 , 自动 scp 到服务器,重启对应服务,没用 docker
1 、专门找一台机器 git pull 下来代码后
2 、编译
3 、将编译后的二进制文件和配置文件通过 rsync 的方式同步到目标机器(一般是多台)
4 、在目标机器上 使用 Supervisord 重启 go 服务
5 、上线完成
个人使用的是自建 gitlab,用 gitlab ci 部署,在目标机装 gitlab-ci,docker,git push 自动触发编译、测试、部署。环境配置好之后很方便,网页上也很方便回滚版本。