Docker Jenkins部署Golang项目
之前将 Java 项目在 Docker Jenkins 的参数化构建 . 本次记录下对于 Golang 项目的参数化构建部署
之前部署的方式是 拉取源码 -> build镜像 -> 推送镜像仓库 -> build容器 , 笔者这里起初也采用这种方式 , 但是发现在对 Golang 项目 go build
时服务器会 CPU 内存占用爆满构建失败 , 本台机器对 Java 项目的构建都不需要占用这么高资源 ,打包也比较快速 . 尝试数次定位不到问题 , 于是改用本地打包后上传 build 文件 , 然后构建镜像
本地构建
这里本地使用的是 Windows , 因此涉及交叉编译 , 可以参考 此前文章
在通过命令行实际操作时 , 发现交叉编译的配置实际没有作用上 , 可能是命令行执行时没有当作一次整体的命令配置环境 , 因此笔者这里通过编辑器的配置直接打包 , 使用 IDEA
或 Goland
Edit Configurations
-> 新建 Go Build
配置 -> Environment 配置 GOOS=linux;GOARCH=amd64
, Program arguments 配置 -o main main.go
然后直接按钮运行 , 则会在根目录下生成 任务名_linux
的一个执行文件.
Jenkins配置
这里新建任务 , 选择文件参数构建
- 文件路径
./main
- 描述 build文件
Git 还是需要配置的, 因为可执行文件中只有代码 , 没有一些配置文件比如语言、配置文件等 . 这里配置下源码管理 Git 以及分支
增加构建步骤 Shell
1 | cd $WORKSPACE |
此处只是 Push 到镜像仓库 , 并没有自动更新项目的容器 , 因为这里可能是同机器或者不同机器 , 最好根据实际情况自己配置 , 笔者这里是手动去 pull 更新的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Halcyon Days!