DevOps软件开发流程规范

流程概要

持续集成和持续交付是 DevOps 最核心的两个部分。

持续集成通过即时将最新的代码,集成到主干分支,并进行相关的测试(单元测试、集成测试等)和静态检查(代码格式,代码质量等),以期提早发现问题。

持续交付,在持续集成完成之后,即时生成生产环境可用的产物(如二进制文件、包、或者 Docker镜像),并准备随时部署,如果伴随着部署过程,则称为持续部署。

开发流程

  • 系统分析与设计:需求分析,架构设计,数据库设计等

  • 相关文档编写, 文档应与代码仓库一起

  • 系统开发

    • 持续集成 (gitlab-ci)
    • 格式检查和静态检查 (vscode, linter)
    • 数据库迁移 (migration)
    • 使用 Docker 搭建开发、测试和生产环境,docker-compose
    • Git开发流程 (git cz, master, branch )
    • 自动化测试:单元测试,HTTP测试(api测试),功能测试,基准测试 (ab)
    • 自动化部署(主备)(ngixn back)
    • 更新日志 (angular changelog)
    • crontab supervisord
  • 测试与验收

参考文档

相关推荐
凤凰战士芭比Q5 分钟前
部署Tomcat11.0.11(Kylinv10sp3、Ubuntu2204、Rocky9.3)
linux·运维·tomcat
施努卡机器视觉20 分钟前
SNK施努卡汽车一体式天幕生产线
运维·机器人·自动化
欢喜躲在眉梢里1 小时前
mysql中的日志
android·运维·数据库·mysql·adb·日志·mysql日志
zhangzeyuaaa3 小时前
从Nginx到Keepalived:反向代理高可用的技术闭环——Nginx、Keepalived、VIP与VRRP的深度联动解析
运维·nginx
Lin_Aries_04214 小时前
在 Kubernetes 集群中运行并发布应用程序
运维·nginx·docker·云原生·容器·kubernetes·自动化
关关长语4 小时前
Ubuntu 中获取指定软件依赖安装包
linux·运维·ubuntu
dragon_cdut5 小时前
ubuntu22.04 无法清空回收站文件
linux·运维
七七七七075 小时前
【Linux 系统】进程优先级
linux·运维·服务器
chainbees5 小时前
Git账号配置 SSH 密钥
运维·git·ssh
大翻哥哥6 小时前
Python 2025:低代码开发与自动化编程新纪元
运维·低代码·自动化