隨筆-6  評論-38  文章-40  trackbacks-0

          在一個多人協作的環境中,每個人提交代碼后,應該能通知其他人這個變化,郵件是一個最常見的方法。

          由于windows下不像linux一樣都隨機配備了sendmail等發送郵件的工具,所以我們需要在windows上選擇一種smtp服務器,這里我使用了James,一個Java的開源的開源項目,實現了完整的郵件系統。

          ?本教程是 Windows下Subversion配置管理員指南系列教程的一部分,各個教程采用相同的目錄結構和路徑,有助于大家閱讀。

          版本庫根目錄: d:\svnroot ,其中有project1和project2兩個版本庫。
          Subversion安裝目錄: d:\subversion

          ?

          1,下載安裝

          a. 下載安裝JDK

          因為James是Java程序,首先你的系統必須有Java運行環境,我們可以從Sun的官方網站下載,地址是http://java.sun.com/javase/downloads/index.jsp。下載直接按照默認安裝即可,我選擇安裝的位置是D:\jdk1.5.0_09,教程后面將會使用這個路徑。

          b. 下載安裝James

          James的官方網站是http://james.apache.org/,我們可以在http://java.sun.com/javase/downloads/index.jsp下載James的服務器版本,目前的最新版本是http://apache.justdn.org/james/server/binaries/james-2.3.0.zip

          下載后直接解壓縮就行了,然后打開james-2.3.0\bin\run.bat,在@echo off后面增加下面的代碼:
          ??? set JAVA_HOME=D:\jdk1.5.0_09
          然后直接運行一下run.bat,就會提示啟動了郵件服務器,其中我們使用的就是smtp服務,這說明James安裝成功。

          c. 下載安裝perl

          我們這個教程會借用subversion官方網站提供的發送郵件腳本,是使用perl編寫,所以我們需要下載perl的運行環境。http://www.activestate.com/store/productdetail.aspx?prdGuid=81fbce82-6bd5-49bc-a915-08d58c2648ca下的http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.819-MSWin32-x86-267479.msi。perl的安裝位置與后面的教程無關,可以隨意安裝。

          d. 下載commit-email.pl.in

          官方網站的http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/下提供了一些有用的鉤子腳本下載,我們下載http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/commit-email.pl.in


          2,配置驗證James

          在上一小節運行了run.bat后,可以看到如下的提示:

          Using PHOENIX_HOME:   D:\tools\james-2.3.0
          Using PHOENIX_TMPDIR: D:\tools\james-2.3.0\temp
          Using JAVA_HOME:      D:\jdk1.5.0_09
          Phoenix 4.2
          James Mail Server 2.3.0
          Remote Manager Service started plain:4555
          POP3 Service started plain:110
          SMTP Service started plain:25
          NNTP Service started plain:119
          FetchMail Disabled

          它告訴我們可以使用啟動正常(不要關閉窗口),并且可以使用telnet進行管理,為此,我們在一個新命令行窗口中運行:

          telnet 127.0.0.14555

          注意:這里127.0.0.1代表了我的本機地址,如果是在局域網中,可能這里是運行James服務器的ip地址。

          然后出現輸入用戶名和密碼的提示,用戶名和密碼都輸入root即可,提示登陸成功后,直接輸入下面的命令,就可以添加一個帳戶:

          adduser rocksun rocksun

          完成這個操作后,我們就可以使用我們的郵件客戶端(outlook, foxmail)驗證我們的James服務器,我想配置都不是問題,smtp和pop3服務器都輸入“127.0.0.1”或運行James服務器主機的IP即可,用戶名和密碼都是rocksun,設置smtp發送無需認證。

          然后可以發送一個測試郵件,根據上面添加的用戶信息,我們的郵件的目的地址是 rocksun@127.0.0.1

          ,發送后你在選擇收郵件,就應該能得到自己發送的郵件,然后我們可以繼續進行了。

          3,編寫鉤子

          剩下的工作就很簡單了,將commit-email.pl.in重命名為commit-email.pl,存放在D:\svnroot\下,然后找到下面這一行:

          my $svnlook = "@SVN_BINDIR@/svnlook";

          修改為:

          my $svnlook = "D:/Subversion/bin/svnlook.exe";

          然后來到D:\svnroot\project1\hooks下,創建一個post-commit.bat文件,內容如下:

          set REPOS=%1
          set REV=%2
          D:\svnroot\commit-email.pl "%REPOS%" "%REV%" rocksun@127.0.0.1--from daijun@gmail.com

          好了,在project1的工作拷貝里提交吧,然后看看你剛才配置的郵件客戶端,有沒有受到這次變更的郵件。

          ?

          posted on 2006-12-02 20:35 一手的小窩窩 閱讀(342) 評論(0)  編輯  收藏 所屬分類: OTHER
          主站蜘蛛池模板: 阿鲁科尔沁旗| 绥中县| 麻江县| 武功县| 星子县| 广东省| 五峰| 马山县| 客服| 阜平县| 怀化市| 马龙县| 两当县| 开鲁县| 阳城县| 丹东市| 土默特左旗| 德州市| 高密市| 宝丰县| 方城县| 大庆市| 乌海市| 荃湾区| 团风县| 上栗县| 尖扎县| 许昌县| 泾川县| 平阴县| 城步| 偃师市| 隆化县| 繁昌县| 察隅县| 永清县| 温州市| 汝城县| 贺州市| 麻江县| 景洪市|