DevOps
实现一般采用Jekins或者GitLab开源实现方案
一种新型的业务研发流程。在该流程中业务开发人员不仅需要负责业务代码的研发,还需要负责业务的测试以及上线发布等全生命周期.
高效的组织团队之间通过自定义的工具协作和沟通来完成软件的生命周期管理,从而更快,更频繁的交付稳定的软件。
高效的工具能自动的发送到线上,就需要经过CI和CD。
- CI :持续集成,开发完成代码开发,自动的进行代码检查,单元测试,部署测试环境,进行集成测试,跑自动化测试用例。
- CD: 持续部署。
- 能自动部署到生产环境中进行集成测试;测试完成在进行小批量的灰度测试;然后在发布线上。
- 在整个发布的过程中,需要有人为的判断整个过程是否正常,确保程序的正确性。
实践
操作步骤
操作步骤包含三个。
- 持续集成。开发阶段进行构建,打包,测试。
- 持续交付。确保所有代码合并到Develop分支,确保能在生产环境中通过。随时交付到线上。
- 持续部署。合并到主干,随时准备发布到线上。
实现的关键点
- 持续集成阶段
- 代码检查: 通过代码检查去除部分潜在的bug.
- 单元测试:每个具体代码模块的进行写单元测试。
- 集成测试:将所有修改的代码进行部署到一起,集成阶段跑每个服务的自动化测试用例。
- 分配的机器通过k8s之类的容器平台进行管理,仅需要需要化分配。
- 持续交付阶段
- 保证最新的业务代码能够在生产环境进行正常的运行。
- 持续部署阶段
- 目的是把类生产环境下运行通过的代码自动的发布到线上所有节点中去。一般选择手动发布。不同的业务发布需要有一定的步长操作。