forge k8s/kubernetes ci/cd 最佳实践


forge的官网是: http://forge.sh

forge工具是一个部署工具, 将你的应用自动更新到kubernets集群中, 只需要配置简洁的配置文件和模板即可。

其它的就交给forge, 它能帮你搞定的事情: 

  一般k8s更新应用需要以下步骤: 

      1. 点击jenkins 构建job, 或者通过webhook的方式出发.

      2. 拉取项目代码

      3. 编译、打包  例如 go build , mvn 等

      4. 根据Dockerfile 打包镜像

      6. 上传镜像到docker 镜像仓库,打镜像的tag

      7. 通过某种方式更新yaml文件

      8. 使用 kubectl apply -f xxx.yaml 更新镜像版本

而有了forge之后就很简单了, 可以直接将3-8的步骤直接交给forge处理。

        运行方式: https://forge.sh/docs/discussion/how-it-works

        Quickstart: https://forge.sh/docs/tutorials/quickstart

        与其它同类软件的对比: https://forge.sh/docs/intro/forge-vs

目前我们生产使用的部署方式就是forge ,每个项目只需要修改配置文件即可修改pod的数量等信息。

我们上线的方式是研发提交代码后触发jenkins构建job,此job会拉取代码,打包镜像, 上传镜像, 更新镜像. 

后面的3步是通过forge完成. 非常高效,并且能同时发布多个项目。

有时间再补充详细的内容....