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
#工具内部使用的环境配置信息文件,工具内部使用,无需关心