从实际使用的情况看,我的建议是针对应用开发人员,需要准备3套环境,分别是SIT、UAT和版本环境。这里的版本环境相当于一个准生产环境,和生产环境运行的应用版本和配置保持一致。容器环境下,镜像里只包含静态的数据和可执行文件,所有动态配置信息都抽取出来,作为配置项(比如K8S里的ConfigMap)保存,在容器启动的时候动态注入。从准生产环境到生产环境的镜像同步都是由自动化工具来实现,当然推送生产前有一个审批环节。应用在生产环境发布所需要的配置信息都提前在DevOps工具里配置好,也做版本管理。一旦审批通过,就可以由人工在DevOps工具里一键触发版本发布。