统一配置管理平台建设
2010-07-19 21:16
253 查看
09年到了现在这家公司,公司在项目管理上用的工具很多包括jira , TD ,SVN, twiki 等等, 但各自都很独立,例如需求在Jira里管理,测试用例在TD里管理,代码在SVN中管理,那么就面临一个问题如何把一个需求跟踪做到,需求录入开始,设计,开发,代码提交,测试分析,测试执行通过全流程的跟踪。 要解决这个问题就需要有一个平台能够把这些信息整合,统一跟踪管理。 带着这个思路我们在测试部门提供了建立UCM平台这个项目。
UCM 平台是通过数据库和SVN变更信息提取的方式抽取数据,在UCM平台中建立关系并进行信息整合。跟据测试部门中的资源情况,先进行了一个总体的预期规划,在进行分阶段执行。下面介绍一下总体规划。
先说一下数据准备要有哪些:
首先需求数据要获得需求编号,版本号,作者,日期,等信息,这些数据可以在jira数据库中直接读取。
其次是代码并更数据,这部些数据可以直接从SVN中抓取,需要进行SVNkit的二次开发。 (其实SVN有Jira插件的,可以继承到Jira界面,但是因为公司环境部署原因jira服务器无法访问内网中的SVN服务器,所以无法使用,我们做两者关联的原理是一样的——都是冲过CI事件的Comment信息中找issue ID 信息)
其次是测试用例数据的提取,这个数据可以重TD后台数据库中提取出来。如果用TestLink 也是可以提取的。
我们首先抓住了中间这部分数据处理,因为这部分不单单是业务需求跟踪要用,这部分我们进行了功能扩展,支持了基于SVN代码变更的自动开发发布包管理,自动后台编译,自动后台部署等功能。
这部分功能如下:
. 实现构造开发发布程序包,包内容包括需要提交的代码列表,sql脚本,发布说明,已经相关附件等;在包说明中能够根据选择SVN中的Commit事件提取事件中comment部分,格式化后追加到发布程序包的说明中(如在某一个版本提交实践中注明本次修改是Fix bug001,bug002,在选择提交事件后把该comment 信息格式化为 version-2255 : fix bug001 ,bug002 )
实现发布包的流程管理,基本流程例如: 开发人员->构造开发发布包(包为new状态),配置管理员->发布开发提交发布包(包状态new->open 状态),builder master->编译发布包(包状态open状态->make pass or make fail) , builder master ->部署发布包到测试环境(包状态(making pass ->deploy ok or deploy fail ) , 测试人员->测试发布包(deploy ok -> test pass or test fail ) , 配置管理员->关闭发布包(test ok ->close) 异常流程失败状态传递给包给开发人员修改发布包(设置make fail , deploy fail , test fail ->new )
发布开发提交发布包,配置管理员通过执行发布按钮,系统能够同步所有代码列表中所有代码操作行为到测试分钟中,并生成两个编译工单和部署工单,并邮件通知builder master执行编译)
build master 收到邮件后,在build服务器直接svn up 同步编译环境代码(同步测试分支代码),执行编译。执行通过后返回状态给统一配置平台,更新编译工单状态pass, 并发送邮件给部署人员执行部署,如果失败更新编译工单为fail 状态,触发更新包状态为make fail ,并发送邮件给开发人员
部署人员(or部署子系统)收到邮件或消息后,执行部署(部署分为两部分,sql部署,程序部署),部署成功后更新部署工单状态为pass, 触发邮件给测试人员执行测试。 如果失败修改部署工单为fail状态,触发更新包状态为deploy fail ,并发送邮件给开发人员
测试人员测试通过后,更新包状态pass , 否设置包fail .
为实现平台支持多项目,在系统管理模块中所有参数和用户维护,按照项目进行独立配置。
UCM 平台是通过数据库和SVN变更信息提取的方式抽取数据,在UCM平台中建立关系并进行信息整合。跟据测试部门中的资源情况,先进行了一个总体的预期规划,在进行分阶段执行。下面介绍一下总体规划。
先说一下数据准备要有哪些:
首先需求数据要获得需求编号,版本号,作者,日期,等信息,这些数据可以在jira数据库中直接读取。
其次是代码并更数据,这部些数据可以直接从SVN中抓取,需要进行SVNkit的二次开发。 (其实SVN有Jira插件的,可以继承到Jira界面,但是因为公司环境部署原因jira服务器无法访问内网中的SVN服务器,所以无法使用,我们做两者关联的原理是一样的——都是冲过CI事件的Comment信息中找issue ID 信息)
其次是测试用例数据的提取,这个数据可以重TD后台数据库中提取出来。如果用TestLink 也是可以提取的。
我们首先抓住了中间这部分数据处理,因为这部分不单单是业务需求跟踪要用,这部分我们进行了功能扩展,支持了基于SVN代码变更的自动开发发布包管理,自动后台编译,自动后台部署等功能。
这部分功能如下:
. 实现构造开发发布程序包,包内容包括需要提交的代码列表,sql脚本,发布说明,已经相关附件等;在包说明中能够根据选择SVN中的Commit事件提取事件中comment部分,格式化后追加到发布程序包的说明中(如在某一个版本提交实践中注明本次修改是Fix bug001,bug002,在选择提交事件后把该comment 信息格式化为 version-2255 : fix bug001 ,bug002 )
实现发布包的流程管理,基本流程例如: 开发人员->构造开发发布包(包为new状态),配置管理员->发布开发提交发布包(包状态new->open 状态),builder master->编译发布包(包状态open状态->make pass or make fail) , builder master ->部署发布包到测试环境(包状态(making pass ->deploy ok or deploy fail ) , 测试人员->测试发布包(deploy ok -> test pass or test fail ) , 配置管理员->关闭发布包(test ok ->close) 异常流程失败状态传递给包给开发人员修改发布包(设置make fail , deploy fail , test fail ->new )
发布开发提交发布包,配置管理员通过执行发布按钮,系统能够同步所有代码列表中所有代码操作行为到测试分钟中,并生成两个编译工单和部署工单,并邮件通知builder master执行编译)
build master 收到邮件后,在build服务器直接svn up 同步编译环境代码(同步测试分支代码),执行编译。执行通过后返回状态给统一配置平台,更新编译工单状态pass, 并发送邮件给部署人员执行部署,如果失败更新编译工单为fail 状态,触发更新包状态为make fail ,并发送邮件给开发人员
部署人员(or部署子系统)收到邮件或消息后,执行部署(部署分为两部分,sql部署,程序部署),部署成功后更新部署工单状态为pass, 触发邮件给测试人员执行测试。 如果失败修改部署工单为fail状态,触发更新包状态为deploy fail ,并发送邮件给开发人员
测试人员测试通过后,更新包状态pass , 否设置包fail .
为实现平台支持多项目,在系统管理模块中所有参数和用户维护,按照项目进行独立配置。
相关文章推荐
- 多渠道整合开始NGBOSS第一步——TmaxSoft谈运营商统一接口平台建设和管理
- 第3章 软件安装、配置、运行方法--统一项目管理平台(UMPlatForm.NET)
- 搭建统一配置管理平台
- 分布式配置管理平台VS统一集中配置管理
- SOA 之路 -- Spring Cloud配置文件的统一管理
- FreeBSD网站平台建设全过程(六、安装配置视频点播服务器)
- 也谈配置管理团队的建设
- 统一配置Outlook组策略实现统一管理
- 统一配置管理-百度disconf
- 统一资源管理与调度平台(系统)介绍
- 安装配置OSA运维管理平台
- spring cloud :统一管理配置文件config
- 分布式配置管理平台 - Disconf web管理端安装【转】
- 开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4
- 分布式配置管理平台Disconf
- NC外部统一流程管理平台方案
- python项目实现配置统一管理的方法
- RDIFramework.NET — 基于.NET的快速信息化系统开发框架- 5.4平台日志、异常管理、生成自动升级配置文件模块
- java_Web09-软件密码学基础和配置tomcat的https连接器和tomcat服务器的管理平台