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文件??梢允褂脵C器縮寫便于記憶,其余全部使用到的地方都使用縮寫
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.anti-gravitydesign.com