发布困难?
我理解发布困难原因可能有几方面:1.人工操作过多(手动去服务器上传包发布?),端到端交付过程流程割裂。2.平台不支持一些发布策略,风险不可控。3.投产出问题定位难,回滚繁琐 等问题。。。
此处可以借鉴光大这边的智能运维这块的二十四小时无人值守发布平台建设思路。
二十四小时无人值守发布平台灵活的支持各种常见发布模式,项目组可根据需求制定发布规则,选择合适的发布模式,将机器稳健的自动部署到测试或者生产机器上。支持单组服务器发布和多组服务器发布,并支持发布中通过负载均衡切换流量。发布平台智能发布平台对发布的机器,有动态的链路跟踪,可看到发布中的机器的进展以及相关的日志。智能发布平台对各种发布模式,均有健全的回滚方案,支持一键回滚。
无人值守发布平台对接devops平台,智能监控平台,实现需求,研发,测试,构建,发布,监控,度量的完整闭环。
仅供参考,业内也很多特别优秀的发布平台相关的产品。
您好,假如把应用服务理解成行内资产的话,一个应用资产应该包括它的软件包和运行态配置两部分组成,这样我们的应用资产就可以持续积累、并随时供我们使用,所以运行态的配置也要看做资产管理的一部分。
针对您的问题,我们可以分解一下开发测试场景和生产场景来描述
首先,在开发测试场景下,为最大化提升交付效率,我们建议选择合理化的DevOps工具来协助。
以赞同渠道云为例,可以做到从代码层面,到单元测试,编译、打包、部署一站式的流程化处理能力,赞同渠道云深度整合了赞同的渠道业务,对于开发人员,只需要像传统开发方式一样,提交一下代码,后续的流程全部交由渠道云DevOps工具进行实现。
同时,平台具备对应用面向于不同环境的迭代能力,如我们在开发环境完成了相关测试之后,由流程工具链自动同步到测试环境中。
但对于发布生产环境来说,由于环境网络隔离性,安全性的要求,我们是建议采用由人员进行操作的方式,可以讲容器化后的产品理解成资产包,以资产包的视角对应用进行管理。
目前有一些非常优秀的开源项目也可以满足您的诉求,比如云原生社区的helm和红帽所主导的非常优秀的开源软件Operator等