很久以來有的想法,給我們的產品開發(fā)搭建一個集成的自動測試框架。想達到的目標有:
自動從代碼庫抓取代碼 自動Build、制作安裝包、并收集Debug Symbols 自動發(fā)布 自動安裝到目標設備 自動運行測試用例、存儲測試結果 測試用例和測試結果
有點類似于Continuous Integration的概念但不完全相同。這么一個系統(tǒng)自己開發(fā)顯然要花費非常多時間,好的方法是利用現(xiàn)有的工具來搭建。一番研究下來,發(fā)現(xiàn)Trac非常符合我的要求:免費、開源、跨平臺、輕量級、高度可擴展,等等,這些特點我都非常喜歡。這篇文章記錄我在安裝、配置基于Trac的集成框架的一些經驗。在Python、 Trac方面我都接觸不久,理解有限,如果不妥之處請各位指出。
1.安裝Trac
我對Python、Trac、Apache、SVN這些開源開發(fā)工具都是初次接觸,為降低難度,從一開始沒打算在Linux安裝,但還是走了不少彎路。開始時嘗試用CollabNet SVN Server+Python+Trac+Apache,在和Trac集成時由于python和Apache的svn庫版本不一致放棄了。后來改用 Visual SVN Server+Trac,方便很多。Visual SVN Server安裝簡單,集成了SVN和Apache,而且有基于GUI的管理界面。
安裝Visual SVN Server。新版本可在這里下載,我用的是1.6.3,集成了Apache 2.2.9和SVN 1.1.5。安裝十分簡單,在Custom Setup頁面要做一些選擇,其余的一路Next。我的選擇是: 安裝路徑:默認 代碼倉庫路徑:D:"repos 服務端口:https 8443 驗證方式:SVN驗證 安裝完成啟動Visual SVN Server管理界面,為項目建立用戶名和創(chuàng)建代碼倉庫: Repositories上右鍵“Create New Repository...",輸入項目名VMCEPC,勾上"Create default structure"。 Users上右鍵"Create User...",創(chuàng)建用戶名admin。
現(xiàn)在SVN Server搭建好了,用Web瀏覽器測試一下是否成功,在地址欄輸入:https://localhost:8443/svn/。注意后的斜杠是必要的。另外forefox 3.0.x似乎有點bug,不能為自制證書”add exception“,從因此如果SVN Server啟用了https,在firefox 3.0.x中是不能正常連接的。IE和firefox 3.1都沒問題。
安裝Trac 0.11。由于沒有裝Python,Trac主頁上介紹的安裝方法不適用。好在Visual SVN Server網(wǎng)站提供了一個work around,詳細步驟看這里: 在這里下載Trac 0.11 for Visual SVN Server 把安裝包里的trac目錄加壓到C:Program FilesVisualSVN Server 創(chuàng)建目錄d: rac 為VMCEPC項目初始化trac環(huán)境,除了"Path to repository"要明確指定,其余可以全部用默認設置,這些設置以后都可以改。在DOS窗口運行命令: "C:Program FilesVisualSVN Server rac rac-admin.bat" d: racvmcepc initenv Project Name: VMCEPC Path to repository: d:
eposvmcepc 把admin加為trac admin,在DOS窗口運行命令: "C:Program FilesVisualSVN Server rac rac-admin.bat" d: racvmcepc permission add admin TRAC_ADMIN 編輯C:Program FilesVisualSVN Serverhttpd-wrapper.bat,在文件開始處添加一行:set PYTHONHOME=%~dp0Tracpython 在C:Program FilesVisualSVN Serverconfhttpd-custom.conf中加入這些設置: LoadModule python_module "trac/python/mod_python_so.pyd"
LoadModule authz_user_module bin/mod_authz_user.so
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir d: rac
PythonOption TracUriRoot /trac
AuthName "Trac"
AuthType Basic
AuthBasicProvider file
AuthUserFile "d:/repos/htpasswd"
Require valid-user
</Location>
這樣trac server搭好了。在瀏覽器中輸入地址:https://localhost:8443/trac/。如果看到有"Available Projects"列出說明成功了。如果有錯誤,可以打開Windows的Event Viewer查看VisualSVN Server的日志信息。
另外如果想為多個項目配置trac,可以做一個通用的配置文件trac.ini,放到d: rac rac.ini,然后在具體項目的trac.ini文件里引用它:
# -*- coding: utf-8 -*-
[inherit]
plugins_dir = d: rac rac.ini
[project]
descr = Windows CE for VMWare
name = VMCEPC
[trac]
repository_dir = d:
eposvmcepc