V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
wq67200976
V2EX  ›  Go 编程语言

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

  •  1
     
  •   wq67200976 · 2020-05-10 02:08:36 +08:00 · 3205 次点击
    这是一个创建于 1658 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    即用 Docker 的多步构建比较优雅。
    cnbattle
        2
    cnbattle  
       2020-05-10 09:37:58 +08:00 via Android
    个人用 gitea drone 做的 , 自动 scp 到服务器,重启对应服务,没用 docker
    qloog
        3
    qloog  
       2020-05-10 10:02:52 +08:00
    1 、专门找一台机器 git pull 下来代码后
    2 、编译
    3 、将编译后的二进制文件和配置文件通过 rsync 的方式同步到目标机器(一般是多台)
    4 、在目标机器上 使用 Supervisord 重启 go 服务
    5 、上线完成
    kaifang
        4
    kaifang  
       2020-05-10 10:14:38 +08:00 via iPhone
    个人使用的是自建 gitlab,用 gitlab ci 部署,在目标机装 gitlab-ci,docker,git push 自动触发编译、测试、部署。环境配置好之后很方便,网页上也很方便回滚版本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2843 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:20 · PVG 21:20 · LAX 05:20 · JFK 08:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.