测试交流天地

发布新日志

  • 转-在Windows下实现SVN邮件自动通知

    2013-03-26 10:05:34

     

    昨天装了一下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.cmd,内容如下:

    set REPOS=%1
    set REV=%2
    F:\SvnNotify\svnnotify.exe -repos "%REPOS%" -r %REV% -to xxx@gmail.com
    exit 0
    注意 上面的文件内容中F:\SvnNotify\svnnotify.exe是布署的程序完整路径repos指版本库的路径 –r值版本号 最后是收件人的Email地址,通常是一个邮件组的地址,当然你可以用,进行隔开来实现发送给多人。

    4.进行你可以进行测试
    你可以直接双击post-commit.bat文件,然后看是否可以接受到邮件。如果没有接受到,建议你到DOS下进行调试。

    5.何时会自动发送邮件通知?
    当版本库的内容发生改变时,SVN就会自动运行post-commit.bat这个文件来实现邮件的自动通知。

    以上信息希望对大家有一点帮助!
    http://bbs.51testing.com/thread-101033-1-1.html
    [ 本帖最后由 lantianwei 于 2007-12-16 18:12 编辑 ]

    SVNNotify.rar (4.11 KB)

Open Toolbar