【Git】企业开发模型
企业级开发流程
标准流程分析
- 需求分析
- 确定系统的具体功能和非功能需求
- 收集需求文档,定义系统功能需求与非功能性需求
- 项目规划
- 制定项目的开发计划、资源分配、时间安排、风险控制等
- 系统设计
- 将需求转化为具体的系统架构和设计方案
- 开发与编码
- 配置开发环境、版本控制工具
- 前后端及其数据库开发
- 单元测试与代码审核
- 持续集成配置和自动化测试
- 测试
- 确保软件的功能正确、性能打包同时符合要求
- 主要有单元测试、集成测试、系统测试、性能测试和安全测试
- 部署
- 将开发完成的软件部署到生产环境,同时确保系统平稳上线
- 部署前的环境准备(开发、测试、生产环境)。
- 数据迁移与配置(数据库初始化)。
- 持续集成/持续交付(CI/CD)流程发布。
- 灰度发布或蓝绿部署策略,降低上线风险。
- 维护与支持
- 维护系统的稳定性并根据用户反馈进行改进
版本控制与代码管理
- 分支管理策略
- 主分支(main/master): 存放稳定发布的代码。
- 开发分支(develop): 用于日常开发。
- 功能分支(feature): 实现特定功能的分支。
- 修复分支(hotfix): 修复生产环境的紧急问题。
- Git工作流程
- 在
develop
分支创建feature
分支。 - 完成功能后合并到
develop
,并在main
上发布。 - 如有紧急问题,使用
hotfix
修复,并合并回主分支。
- 在
持续集成与持续交付
- 持续集成(CI): 每次代码变更都自动触发构建和测试,保证代码的稳定性。
- 持续交付(CD): 自动化部署,确保软件能随时发布到生产环境。
devops
系统开发环境
- 开发环境
- 开发人员进行编码和单元测试
- 测试环境
- 完成开发的代码,并在测试环境中进行功能和性能测试
- 预发布环境
- 模拟生产环境进行最终验证,确保没有问题
- 生产环境
- 经过所有测试后,代码正式上线,然后向用户提供服务
Git分支设计规范
基于Git flow模型了解分支规范
分支工作流程
- 创建功能分支
- 在develop分支基础上创建feature分支开发新功能
- 功能完成后合并回到develop分支上
- 发布分支的创建和合并
- 当develop分支上的代码准备发布的时候,创建release分支
- 发布测试完成后,将release分支合并到main和develop分支上
- 热修复分支的处理
- 当生产环境出现问题的时候,从main创建hotfix分支下进行紧急修复
- 修复完成后,将hotfix分支合并到main 和 develop
Git flow模型下的长期分支
- 主分支(master)
- 存储生产环境的稳定版本代码
- 每次发布到生产环境时,将代码合并到主分支
- 主分支上的每一个提交都应是一个可发布的版本
- 仅用于存储稳定的、已发布的版本,不允许日常开发直接在此进行
- 开发分支(develop)
- 日常开发,以及团队合作使用
- 新功能和改进的代码会从功能分支(
feature
)合并到develop
- 当
develop
上的代码足够稳定时,会合并到main
进行发布 - 作为最新开发成果的集成点,定期与
feature
、release
和hotfix
分支进行合并
Git flow模型下的短期分支
- 功能分支(feature)
- 主要用于开发新功能,一般都是从develop分支派生
- 命名:
feature/<功能描述>
,如feature/login-page
- 适用于开发新功能或模块
- 开发完成后合并回
develop
分支 - 删除功能分支后,代码会保存在
develop
- 发布分支(release)
- 用途:用于准备新版本的发布,通常从
develop
分支派生 - 命名规范:
release/<版本号>
,如release/1.0.
- 创建
release
分支后,开发团队进行最后的测试与调整 - 测试完成后,将
release
分支合并到main
(发布)和develop
(同步改动) - 发布完成后,删除
release
分支
- 用途:用于准备新版本的发布,通常从
- 修复分支(hotfix分支)
- 一般用于紧急修复生产环境下的严重问题,一般是从main分支下派生
- 命名:
hotfix/<描述>
,如hotfix/fix-crash
- 解决紧急问题后,代码会合并回
main
(立即发布)和develop
(保持同步) - 修复完成后删除
hotfix
分支
企业级项目管理实践
创建企业级开发项目
原文地址:https://blog.csdn.net/gma999/article/details/143192390
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!