这是我参与 第三届青训营-后端场 笔记创作活动的第4篇笔记
流程
定义
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发)
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
原则
- 端到端责任
- 持续改进:
- 自动化一切
- 以客户为中心的行动
- 监视和测试所有内容
- 作为一个团队工作
过程分析
code
- git
- svn
代码推送
store
项目开发编写代码,然后把代码推送到 GitLab 里存储,通过 GitLab 的 hook 使 Jenkins 执行一些 CI 的过程,比如做一些单元测试,构建 Docker image
- gitlab
- github
- gitee
质量分析
1.Sonarqube
- 它是市场上最受欢迎的代码质量和安全性分析工具。
jenkins
- 用于监控持续重复的工作,包括:持续的软件版本发布/测试项目,监控外部调用执行的工作。
CI
- Docker
- 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
CD
- 真实的服务器
总结
- 将完成的代码快速交付到生产环境;
- 最小的生产故障;
- 从故障中立即恢复。
- 缺点:DevOps需要一个工具链。虽然许多工具都是开源的,但想要建立DevOps文化的组织在起步时将面临成本和挑战。