lantianwei 发表于 2007-12-15 18:02:27

在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.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这个文件来实现邮件的自动通知。

以上信息希望对大家有一点帮助!

[ 本帖最后由 lantianwei 于 2007-12-16 18:12 编辑 ]

amekowong 发表于 2007-12-26 11:30:17

先留个记号^_^,帮顶一下

msnshow 发表于 2008-1-4 10:09:04

多谢楼主分享,看看先

sandregao 发表于 2008-3-20 16:49:04

谢谢楼主 ,配置成功了
不过邮件的内容有点简单啊,怎么配置邮件的内容呢?

诸葛东明 发表于 2008-3-22 19:36:41

学习...

snowry6 发表于 2008-10-8 14:05:58

我按照楼主的方法试了,为什么我收不到邮件啊!也没有报什么错误

snowry6 发表于 2008-10-8 14:13:47

原来是发件服务器的地址输错了,呵呵
但是测试的时候能收到邮件,但是真正用客户端修改版本库的时候却收不到邮件,怎么回事啊

snowry6 发表于 2008-10-8 14:30:43

好像是公司邮箱的问题,我用163的邮箱发给163的都可以,就是公司的收不到变动时发的邮件,能收到测试的邮件
请教各位大虾,有没有遇到这种情况

AKMFCJ 发表于 2008-11-10 17:06:40

好东西帮顶

study_java_shar 发表于 2009-2-24 15:08:59

没报错,但是也没有收到邮件

没报错,但是也没有收到邮件,不知道是什么问题

snow_sx1224 发表于 2009-3-2 17:33:25

svn邮件

哇!这个到底是什么东西。我真是搞糊涂了!居然还可以邮件通知。!

taotao2635 发表于 2009-3-6 13:46:45

非常好

非常好,感谢!~!

04180106 发表于 2009-6-10 17:58:21

下载了,研究研究,3q

msnshow 发表于 2009-9-28 17:56:45

顶,好东西!

goodo 发表于 2010-3-18 10:44:50

thanks

thanks very much

jasminexucx 发表于 2010-3-23 10:57:59

先看一下

有用,先下载

zhenghz 发表于 2010-4-23 14:50:21

为什么我设置不成功呢,我运行post-commit.bat的时候会提示:
-repos repos-path -r version -to mailTo
上面那一句的仓库路径和版本号是如何获取的,不太明白。
The remote certificate is invalid according to the validation procedure.
System.Security.Authentication.AuthenticationException
这个错误,请高手帮忙一下,谢谢!

王娟083000 发表于 2010-11-19 11:15:20

群加不进去去,已经满了。

msnshow 发表于 2010-11-19 21:14:14

是满了,多加几次吧,我们会清理

ct_051 发表于 2011-2-12 15:01:22

:lol好奇发现太多软件都可以邮件通知,但是对于svn的邮件通知,不知用处是什么?
页: [1] 2 3
查看完整版本: 在Windows下实现SVN邮件自动通知