buildhome搭建环境解决方案(2)

发表于:2012-11-05来源:百度质量部作者:不详点击数: 标签:buildhome
buildhome每天从线上下载程序的线上版本,也可以计算出线上版本程序的MD5值,每台机上的程序MD5值与之进行对比则可以查看当前机器是否与线上版本一致。

  buildhome每天从线上下载程序的线上版本,也可以计算出线上版本程序的MD5值,每台机上的程序MD5值与之进行对比则可以查看当前机器是否与线上版本一致。

  模块使用的数据有些是固定的数据,且可能一段时间后会进行改变,为达到一个完善的环境,也需要对这些数据进行管理,人为配置相关的检查。

  buidhome主要功能–搭建、更新环境客户端

  鉴于纯文本操作的困难以及难理解性,buildhome提供搭建和更新功能的客户端。基于上述分析,完成buildhome部署之后,最重要的是要有一个环境配置信息,这部分可以在客户端进行配置,然后搭建有客户端工具触发命令进行搭建。

  对于初次使用或者维护时候有模块信息更改时候,可以使用如下界面管理buildhome数据信息和系统管理的模块信息。

  buildhome的相关文件

  1. buildhome.conf:buildhome的配置文件,为了提高一个通用性,提供了很多扩展脚本的接口,接下来进行讲解。buildhome.conf,

  2. host_list.xml:指定环境中机器及其IP。例子:host_list.xml

  格式为:

  

  xxx.xxx.xxx.xxx

  xxx.xxx.com

  

  3. buildhome.xml:具体描述了由tenv文件指定的测试环境中各个模块的部署机器情况。buildhome.xml

  4. service.xml:相当于前面提到的buildhome.xml的模板,service.xml描述了所有环境中可能用到的模块的配置项信息。service.xml

  

  

  15002

  IP_zzz

  

  

  5.data.xml:保存模块和数据的一个关联关系,搭建时候会进行选择性下载数据。如下:

  

  

  xxx/xxx

  

  

  1. data目录下包含如下文件夹:config_lib是工具内部使用的配置项库。host_config是关联关系库和机器IP信息库,每天进行测试机同步的,online_bin是每天从线上下载的程序。online_conf是每天从OP机器上下载的不包含IP信息的线上配置项。 online_data线上空数据环境,用于搭建环境使用。

  buildhome的部署

  1.模块与模块间的关联关系的文件,即service.xml。工具已集成提示相关功能,可以自动生成一个识别的关联关系的邮件发送给buildhome管理员。

  2.当前产品线的机器信息的一个列表,即host_list.xml文件。可以使用机器缩写便于记忆,其余全部使用到的地方都使用缩写

  3.模块与数据的关联关系的文件,即data.xml。如果不想buildhome管理数据,则可不提供,并且在配置项中去除。

  4.一套实际环境的机器和机器配置运行的模块的信息,即*.tenv文件。例如:xxx-yyy.tenv(tenv is short for Testing ENVironment)表示xxx机器和yyy机器搭建一套环境。

  5.与模块与数据关联关系的对应数据。

  6.配置buildhome配置项适应当前环境。

  buildhome的功能

  执行./bin/buildhome -v会展现相关调用功能

  Project: builhome

  Version: buildhome 0.91 beta

  BuildDate: Nov 4 2009 20:56:09

  Author: kendlyluo

  option[-r][-t][-b][-l][-S][-l][-T template_name]

  -l :load the config of online_conf_path to tools

  -T template_name [module name][template path] :download the template from main host and unzip and replace

  -r + localhost name(no must) :recover testing env

  -t :gen transfer config

  -b :build testing env , will update bin/data/config

  -S :run buildhome at service mode ,will check config and app

  -l :表示load目标的配置文件成为工具使用的数据,进行一个格式的转换,配置项的路径为配置文件中的online_conf_path

  -T:表示下载替换新模板,template_name参数必须,为template的压缩包文件名。如果只有这个参数,则模块的名有template压缩包里面的查找模块名,此时是到online_bin_path下载模板。如果最后一个参数template_path存在,到当前路径下拷贝和替换模板。

  -r:表示重新配置当前环境的模块配置,会从*tenv文件转换生成buildhome.xml文件,不存在参数则工具自寻查找当前机器是环境中的哪一台。如果存在参数,则参数表示当前机器的那台。

  -t:transfer的配置文件生成。社区产品专用

  -b:经过-l和-r的导入数据信息后进行搭建环境,搭建环境会下载配置项、数据、程序.

  -S:启动一个监控程序、配置项、数据的服务,每天定时进行监控,出现异常发送邮件

  部署图如下:

  配置buildhome配置文件

  LOG_LEVEL : 16

  LOG_PATH : ./log/

  LOG_NAME : buildhome.

  #数据路径,用于存放备份配置文件和程序模块信息

  DATA_PATH : ./data/

  #buildhome管理员邮件

  administrator_mail: qablog@baidu.com

  #是否要自动匹配关联关系

  auto_fix : 1

  #自行配置关联关系的文件

  auto_fix_name : auto_fix.xml

  #测试环境配置信息

  env_name : ./conf/iknow_default.tenv

  #机器IP,名字信息

  host_list : host_list.xml

  #模块关联关系、自定义配置项文件

  service_list : service.xml

  #工具内部使用的环境配置信息文件,工具内部使用,无需关心

原文转自:http://www.ltesting.net