项目开发过程中的通用步骤梳理
2016-06-16 09:42
204 查看
一、背景和目标
鉴于我们的各种开发人员越来越多,个人技术状况参差不齐的状况,故做此项目开发过程中的通用步骤梳理,
目标有3点:
(1) 能清楚了解大数据范围内的项目开发全流程。
(2) 能对个人项目存在的问题题点或别人协同时候的问题点,进行快速定位和问题解决。
(3) 形成相对统一开发流程规范,方便后续任务的交接、升级等问题的处理。
二、过程详解
(1) 项目的结果输出
源码相关:包括源代码、配置文件、包依赖
脚本相关:包括shell、python等。
说明文档 : 独立成word存档 , 集成于代码中,形成于wiki中。
(2)步骤详解
个人将项目开发过程,共分为9步,以具体需求 "周期性,每天获取昨天节目有线电视频道对应的节目单"为例,
2.1 代码开发
基于面向对象思想,以模块开发、控制器类、业务管理类、工具类、类内方法按流程分块等来实现高内聚 、低耦合的要求。
2.2 单元与功能测试
单元测试方法、工具类等
功能测试主要是功能单元为单位,涉及多个类或方法,以一个功能入口类为启动类。
2.3 本地布署测试
如果项目本身可以本地布署测试,则进行本地环境的优先测试。并解决出现的问题点。
2.4 shell脚本开发
由于所做的项目的最终运行环境,均需要在线上的linux环境中。在项目代码开发完成后,均需要结合shell后,最终完成项目的
整体开发。
如:udf,对代码执行后的清理临时数据文件,对java代码调用时候的输入参数调用
2.5 线上布署测试
在远程环境中,布署完整的项目,包括shell+源码等全部,
使项目本身可以在与持续集成环境几乎一致(比如JDK,Linux版本等环境往往会略有不同)的机器环境中运行,
从而最大程度确保在持续集成环境中的机器可以运行成功,减少在持续集成环境下的测试成本。
2.6 源码同步(git)
经过以上测试通过,说明源码已ok,故此时可以将项目同步到git中,方便团队协作开发和代码review。
2.7 项目发布包同步(git)
经过以上测试通过,说明项目运行已ok,故此时将项目发布包,涉及到的源码的jar包,shell脚本和其它需要的数据文件等同步至git中,作为以后CI布署时候的分发依据,同时方便团队协作开发和代码review。
2.8 CI布署分发发布包
如果项目发布包上传到的git地址,已配置好CI数据分发,则不需要重配置。只需等CI自动更新git的数据后,做自动分发。
如果项目发布包上传到的git地址,从未配置过CI数据分发,则需要重新配置。
即将git地址加入新建的CI任务中,并填写相关的脚本,
比如删除已有目录、创建没有的目录、将git下来的数据拷贝至分发进程要拷贝的目录中。
若是需要编译构建的项目如web型项目,则需要写相关的代码build和自定义分发。
2.9 任务调度与监控之Jenkins布署
由CI布署分发发布包完成后,则项目的发布包已成功分发至各调度入口机中。
配置Jenkins 任务,将依赖、定时、启动脚本、报警邮件等配置好后,申请上线。
申请上线后可以通过任务管理去运行测试,如有问题,进行迭代测试。
没有问题的话,则正式发布完成。
但仍需持续观察后边几个周期的执行情况,防止出现与预期不符的情况。
更多学习讨论, 请加入官方QQ技术群320349384,
官方天亮论坛:http://bbs.yuqing36524.com/
天亮教育视频链接:http://pan.baidu.com/s/1pJJrcqJ
一、背景和目标
鉴于我们的各种开发人员越来越多,个人技术状况参差不齐的状况,故做此项目开发过程中的通用步骤梳理,
目标有3点:
(1) 能清楚了解大数据范围内的项目开发全流程。
(2) 能对个人项目存在的问题题点或别人协同时候的问题点,进行快速定位和问题解决。
(3) 形成相对统一开发流程规范,方便后续任务的交接、升级等问题的处理。
二、过程详解
(1) 项目的结果输出
源码相关:包括源代码、配置文件、包依赖
脚本相关:包括shell、python等。
说明文档 : 独立成word存档 , 集成于代码中,形成于wiki中。
(2)步骤详解
个人将项目开发过程,共分为9步,以具体需求 "周期性,每天获取昨天节目有线电视频道对应的节目单"为例,
2.1 代码开发
基于面向对象思想,以模块开发、控制器类、业务管理类、工具类、类内方法按流程分块等来实现高内聚 、低耦合的要求。
2.2 单元与功能测试
单元测试方法、工具类等
功能测试主要是功能单元为单位,涉及多个类或方法,以一个功能入口类为启动类。
2.3 本地布署测试
如果项目本身可以本地布署测试,则进行本地环境的优先测试。并解决出现的问题点。
2.4 shell脚本开发
由于所做的项目的最终运行环境,均需要在线上的linux环境中。在项目代码开发完成后,均需要结合shell后,最终完成项目的
整体开发。
如:udf,对代码执行后的清理临时数据文件,对java代码调用时候的输入参数调用
2.5 线上布署测试
在远程环境中,布署完整的项目,包括shell+源码等全部,
使项目本身可以在与持续集成环境几乎一致(比如JDK,Linux版本等环境往往会略有不同)的机器环境中运行,
从而最大程度确保在持续集成环境中的机器可以运行成功,减少在持续集成环境下的测试成本。
2.6 源码同步(git)
经过以上测试通过,说明源码已ok,故此时可以将项目同步到git中,方便团队协作开发和代码review。
2.7 项目发布包同步(git)
经过以上测试通过,说明项目运行已ok,故此时将项目发布包,涉及到的源码的jar包,shell脚本和其它需要的数据文件等同步至git中,作为以后CI布署时候的分发依据,同时方便团队协作开发和代码review。
2.8 CI布署分发发布包
如果项目发布包上传到的git地址,已配置好CI数据分发,则不需要重配置。只需等CI自动更新git的数据后,做自动分发。
如果项目发布包上传到的git地址,从未配置过CI数据分发,则需要重新配置。
即将git地址加入新建的CI任务中,并填写相关的脚本,
比如删除已有目录、创建没有的目录、将git下来的数据拷贝至分发进程要拷贝的目录中。
若是需要编译构建的项目如web型项目,则需要写相关的代码build和自定义分发。
2.9 任务调度与监控之Jenkins布署
由CI布署分发发布包完成后,则项目的发布包已成功分发至各调度入口机中。
配置Jenkins 任务,将依赖、定时、启动脚本、报警邮件等配置好后,申请上线。
申请上线后可以通过任务管理去运行测试,如有问题,进行迭代测试。
没有问题的话,则正式发布完成。
但仍需持续观察后边几个周期的执行情况,防止出现与预期不符的情况。
更多学习讨论, 请加入官方QQ技术群320349384,
官方天亮论坛:http://bbs.yuqing36524.com/
天亮教育视频链接:http://pan.baidu.com/s/1pJJrcqJ
相关文章推荐
- 开发人员、程序员与计算机科学家三者之间的区别
- 收集学习asp.net比较完整的面向对象开发流程
- 开发人员一定要加入收藏夹的网站 推荐
- Android开发者需要知道的8个项目管理技巧
- 对Web开发人员有用的8个网站小结
- RDM 与Project 的对比分析报告
- 让程序员使用微博形式工作日志
- [Maven-不忘初心,方得始终] Maven-项目管理与构建
- 中国体育彩票系统需求管理解决方案
- 企业项目管理软件选型指南
- 工程师文化=好的福利?谈谈被大家误解的编码文化
- Linux下如何安装JIRA项目管理软件
- 敏捷开发流程管理须参考的3个要素
- 教你如何绘制帕累托图
- 给软件工程师的自学建议
- 非IT类网站和文章
- 我国需要的项目管理『神』
- 浅谈ERP项目管理的几个侧重点
- 一位网友的项目管理经验