mingyunzhiye 已经使用DevOps的流水线部署了服务A,再次运行流水线后,最新的镜像已经推送到了私有仓库Harbor上,但是服务中使用的镜像没有更新,还是使用的是上次的镜像。但是把服务A删除后再运行流水线就能拉取最新的镜像文件了
RolandMa1986 mingyunzhiye 第一不建议使用latest,最好使用版本号,deploy的时候更新版本号。 第二如果使用latest,请确保spec.containers.imagePullPolicy设置为Always。 使用 latest pod 模板没有任何变化,不会触发升级。 参考:https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment
mingyunzhiye 1、流水线每次运行都会产生新版本(版本号取的是流水线的BUILD_NUMBER)的镜像,同时把新版本的镜像标记为latest 2、spec.containers.imagePullPolicy设置为Always,这个方案我这边验证一下
RolandMa1986 mingyunzhiye 看文档,只设置2 是没有效果的。 Rollout的触发条件: “仅当 Deployment Pod 模板(即 .spec.template)发生改变时,例如模板的标签或容器镜像被更新, 才会触发 Deployment 上线。 其他更新(如对 Deployment 执行扩缩容的操作)不会触发上线动作。”
yuswift 可以在devops集成kubectl 更新你的应用 这有个文档可以参考一下 https://github.com/yuswift/website/blob/devops-go-project-example/content/en/docs/devops-user-guide/examples/go-project-pipeline.md