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完成. 非常高效,并且能同时发布多个项目。
有时间再补充详细的内容....