Golang Go语言生产上如何部署发布的?配合 Jenkins 的一个流程是怎样的

发布于 1周前 作者 vueper 来自 Go语言

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

5 回复

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 自动触发编译、测试、部署。环境配置好之后很方便,网页上也很方便回滚版本。

在Golang(Go语言)生产环境中,部署发布通常涉及编译程序、创建可执行文件、打包和分发等多个步骤。配合Jenkins进行自动化部署时,流程可以概括为以下几点:

  1. 安装Go环境:在Jenkins服务器上安装Go语言环境,并配置环境变量,确保Jenkins可以访问Go编译器。
  2. 配置Jenkins Job:在Jenkins中创建一个新的Job,配置源代码管理(如Git),并设置Jenkins克隆代码到工作目录。
  3. 编写构建脚本:在Jenkins Job中添加构建步骤,使用Shell脚本编写构建和部署命令。这包括使用go build命令编译Go应用程序,以及可能的打包和分发步骤。
  4. 设置环境变量:在构建过程中设置正确的环境变量,如GOPATHGOROOT,以确保Go命令可以正确执行。
  5. 测试和部署:可以添加测试步骤来运行单元测试和集成测试,然后执行部署脚本,将编译后的程序复制到服务器或使用Docker部署应用程序。
  6. 使用Jenkins Pipeline:可以将上述步骤定义在Jenkinsfile中,利用Pipeline提供的代码化和可维护性优势。

通过遵循这些步骤,你可以利用Jenkins实现Go语言项目的持续集成和持续部署,从而提高开发效率和代码质量。

回到顶部