logo
1
0
WeChat Login

CNB golang 构建模版

更适合的Golang构建模版!

介绍

相对于官方示例优点如下:

  1. 构建速度更快
    1. 采用alpine原始构建镜像体积下,下载速度快
    2. 使用CNB stage.image 作为运行环境跑 go buildDockerfile.RUN go build 更快。
    3. 充分运用CNB并行任务,加快构建速度
  2. 构建后镜像环境更合适:时区与根证书优化
  3. 使用upx压缩GO二进制文件体积,构建后生成镜像跟小(缩小50%)
  4. 采用alpine作为运行环境

使用方式

  1. 修改文件名:将 .cnb.example.yml 重命名成为 .cnb.yml
  2. 修改环境变量
    • [推荐]使用cnb的import功能,将secrets仓库文件导入到cnb中作为环境变量
    • [不推荐]将env中的环境变量修改成自己的参数
  3. 按需要修改.cnb/Dockerfile文件
  4. git push后等待运行即可

对比

-使用资源本仓库耗时生产物体积构建内容
本示例4C8G41s16m生产代码,双平台推送(CCR、CNB)
官方示例18C16G43s418m示例gin代码,CNB制品推送
官方示例2-Gobuild8C16G41s59.6m示例gin代码,CNB制品推送、Release发布

本仓库

self-example imagesize

About

更适合Golang的Docker镜像构建模版

golangdockercnb-flowbuild
Language
Markdown70.6%
Dockerfile29.4%