天天看點

在Windows下實作SVN郵件自動通知(轉載)

 昨天裝了一下SVN,對自動化的腳本進行版本控制,看到SVN可以實作郵件的自動通知,是以今天也想試一下。在網上搜了一些資料,照着安裝,現在實作了。是以現在想寫一篇日志讓後來的新手對SVN郵件自動通知有個參考。

以下是我參考goldpicker進行的配置:

配置前提:安裝了.NET2.0 架構

1.将SvnNotify.rar下載下傳到本地并解壓到任何位置,比如我這裡解壓到F:\SvnNotify

2.對SvnNotify.exe.config這個檔案進行配置(在解壓檔案中),配置如下:

<configuration>

 <appSettings>

  <!-- SVNBasePath is the full path of svn path with the "\" -->

  <add key="SVNBasePath" value=" C:\Program Files\Subversion\bin\"/>

  <!-- {0}表示SVN倉庫 -->

  <add key="NotifySubject" value="SVN REPOS {0} CHANGED"/>

  <add key="UseSsl" value="false" />

 </appSettings>

 <system.net>

  <mailSettings>

   <smtp from="xxx" deliveryMethod="Network">

    <network host="yyy" port="25" userName="zzz" password="ppp" defaultCredentials="false"/>

   </smtp>

  </mailSettings>

 </system.net>

</configuration>

參數說明

SVNBasePath 表示SV程式BIN目錄 比如這裡的目錄就是 C:\Program Files\Subversion\bin\

NotifySubject 表示郵件主題的模闆,可以任意定義,且程式将用倉庫來替換{0}

UseSsl 表示是不是用SSL進行連接配接

xxx 表示發件人的郵件位址

yyy 表示發件伺服器的位址

zzz 表示發件伺服器需要登入時的使用者名

ppp 表示登入的密碼

如果公司的伺服器不需要認證,ZZZ,PPP也可以設定為空

幾個參數配置完成後,存盤退出即可。

3.到版本庫的HOOK目錄下建立post-commit.bat或post-commit.exe,内容如下:

set REPOS=%1

set REV=%2

F:\SvnNotify\svnnotify.exe -repos "%REPOS%" -r %REV% [email protected]

exit 0

注意 上面的檔案内容中F:\SvnNotify\svnnotify.exe是布署的程式完整路徑repos指版本庫的路徑 –r值版本号 最後是收件人的Email位址,通常是一個郵件組的位址,當然你可以用,進行隔開來實作發送給多人。

4.進行你可以進行測試了

你可以直接輕按兩下post-commit.bat檔案,然後看是否可以接受到郵件。如果沒有接受到,建議你到DOS下進行調試。

5.何時會自動發送郵件通知?

當版本庫的内容發生改變時,SVN就會自動運作post-commit.bat這個檔案來實作郵件的自動通知。

以上資訊希望對大家有一點幫助!

繼續閱讀