熟悉PHP和jenkins的一套流程,对静态语言不太熟悉想要了解下Golang在实际项目中的部署发布流程?只是单应用,没有用到docker
go的项目中包管理是使用Go_Module的,代码库中需要上传vendor文件夹吗?还是说在打包的服务器配置好环境后,jenkins拉完代码后执行go mod download ,go mod vendor最后在build后把二进制发到其他服务器。 描述的可能不准确,请教一下大家大致的一个流程。
熟悉PHP和jenkins的一套流程,对静态语言不太熟悉想要了解下Golang在实际项目中的部署发布流程?只是单应用,没有用到docker
go的项目中包管理是使用Go_Module的,代码库中需要上传vendor文件夹吗?还是说在打包的服务器配置好环境后,jenkins拉完代码后执行go mod download ,go mod vendor最后在build后把二进制发到其他服务器。 描述的可能不准确,请教一下大家大致的一个流程。
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
5 回答848 阅读
3 回答2.1k 阅读
2 回答2.1k 阅读
1 回答774 阅读✓ 已解决
2 回答704 阅读✓ 已解决
编译 & 发布
主要就两点,第一要静态编译,将GOOS和GOARCH设置对应的系统,然后编译那个系统下的二进制文件;第二单文件可以直接传文件,多文件就删除多余的文件保留运行需要的文件,然后tar包压缩再传输。传输直接用Jenkins ssh插件传,然后解压执行下重启命令或脚本;或者使用ssh传递到发布包中间存储服务器,然后发布平台再去操作。
依赖
依赖需要看自己依赖管理方式,个人推荐使用goproxy server搭建内部包缓存服务器。上传vendor是很可靠的方法,第三方依赖有些太不稳定了。