熟悉 PHP 和 jenkins 的一套流程,想要了解下 Golang 在实际项目中的部署发布流程?只是单应用,没有用到 docker
go 的项目中包管理是使用 Go_Module 的,代码库中需要上传 vendor 文件夹吗?还是说在打包的服务器配置好环境后,jenkins 拉完代码后执行 go mod download,go mod vendor 最后在 build 后把二进制发到其他服务器。 描述的可能不准确,请教一下大家大致的一个流程
1
blackboom 2020-05-10 02:17:04 +08:00 via Android
go build main.go 会自动下载依赖并编译出目标平台可执行文件,后面将可执行文件分发到各服务器进行版本更新,以上方式较为原始。
即用 Docker 的多步构建比较优雅。 |
2
cnbattle 2020-05-10 09:37:58 +08:00 via Android
个人用 gitea drone 做的 , 自动 scp 到服务器,重启对应服务,没用 docker
|
3
qloog 2020-05-10 10:02:52 +08:00
1 、专门找一台机器 git pull 下来代码后
2 、编译 3 、将编译后的二进制文件和配置文件通过 rsync 的方式同步到目标机器(一般是多台) 4 、在目标机器上 使用 Supervisord 重启 go 服务 5 、上线完成 |
4
kaifang 2020-05-10 10:14:38 +08:00 via iPhone
个人使用的是自建 gitlab,用 gitlab ci 部署,在目标机装 gitlab-ci,docker,git push 自动触发编译、测试、部署。环境配置好之后很方便,网页上也很方便回滚版本。
|