51Testing软件测试论坛
标题:
在Windows下实现SVN邮件自动通知
[打印本页]
作者:
lantianwei
时间:
2007-12-15 18:02
标题:
在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
先留个记号^_^,帮顶一下
作者:
msnshow
时间:
2008-1-4 10:09
多谢楼主分享,看看先
作者:
sandregao
时间:
2008-3-20 16:49
谢谢楼主 ,配置成功了
不过邮件的内容有点简单啊,怎么配置邮件的内容呢?
作者:
诸葛东明
时间:
2008-3-22 19:36
学习...
作者:
snowry6
时间:
2008-10-8 14:05
我按照楼主的方法试了,为什么我收不到邮件啊!也没有报什么错误
作者:
snowry6
时间:
2008-10-8 14:13
原来是发件服务器的地址输错了,呵呵
但是测试的时候能收到邮件,但是真正用客户端修改版本库的时候却收不到邮件,怎么回事啊
作者:
snowry6
时间:
2008-10-8 14:30
好像是公司邮箱的问题,我用163的邮箱发给163的都可以,就是公司的收不到变动时发的邮件,能收到测试的邮件
请教各位大虾,有没有遇到这种情况
作者:
AKMFCJ
时间:
2008-11-10 17:06
好东西帮顶
作者:
study_java_shar
时间:
2009-2-24 15:08
标题:
没报错,但是也没有收到邮件
没报错,但是也没有收到邮件,不知道是什么问题
作者:
snow_sx1224
时间:
2009-3-2 17:33
标题:
svn邮件
哇!这个到底是什么东西。我真是搞糊涂了!居然还可以邮件通知。!
作者:
taotao2635
时间:
2009-3-6 13:46
标题:
非常好
非常好,感谢!~!
作者:
04180106
时间:
2009-6-10 17:58
下载了,研究研究,3q
作者:
msnshow
时间:
2009-9-28 17:56
顶,好东西!
作者:
goodo
时间:
2010-3-18 10:44
标题:
thanks
thanks very much
作者:
jasminexucx
时间:
2010-3-23 10:57
标题:
先看一下
有用,先下载
作者:
zhenghz
时间:
2010-4-23 14:50
为什么我设置不成功呢,我运行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
群加不进去去,已经满了。
作者:
msnshow
时间:
2010-11-19 21:14
是满了,多加几次吧,我们会清理
作者:
ct_051
时间:
2011-2-12 15:01
好奇 发现太多软件都可以邮件通知,但是对于svn的邮件通知,不知用处是什么?
作者:
dj
时间:
2011-2-21 15:40
呵呵,收藏了,可以参考下
作者:
meimei009_2009
时间:
2011-3-29 17:29
怎么不行啊,收不到邮件也不报错
作者:
meimei009_2009
时间:
2011-3-29 17:29
怎么不行啊,收不到邮件也不报错
作者:
davids
时间:
2011-6-7 14:34
邮件的格式怎么设置啊??求解答~~
作者:
megan0228
时间:
2011-7-7 11:13
我也是按照这个步骤设置的,可是却收不到邮件,不知道怎么回事
作者:
novemberrain
时间:
2011-7-26 00:53
tks!
作者:
zhuzunwei
时间:
2011-8-11 16:26
核心就是使用SVN HOOKS吧,根据传递的参数,可以做很多事情啊
作者:
hey_boy
时间:
2011-10-31 16:44
最近在研究,学习了...
多谢楼主分享。
作者:
annie_xfz
时间:
2011-10-31 17:03
好东西~正好需要~就看到了~支持楼主
作者:
meimei009_2009
时间:
2012-2-24 11:06
请教高手,我原来的post-commit.bat脚本中是有对log输入的字数限制,现在我要怎么把邮件通知和原来的结合起来呢,
作者:
evan514
时间:
2012-3-6 17:36
有用,先下载
作者:
evan514
时间:
2012-3-6 17:36
有用,先下载
作者:
君落枫
时间:
2012-7-17 11:03
[attach]80012[/attach]楼主能帮我看一下,为什么会出这个问题么??跪求了
作者:
forcj
时间:
2012-8-14 11:29
邮件的内容格式怎么定义呢
作者:
fy_fuying
时间:
2012-11-22 09:26
本帖最后由 fy_fuying 于 2012-12-18 15:11 编辑
谢谢版主,已经成功发送邮件了。
作者:
fy_fuying
时间:
2012-11-22 14:28
回复
33#
君落枫
首先说明我也是初学者,由cmd中的信息可以看出,你的-repos "" ,你的版本库路径为空。比如我的是test版本库,那么就需要填写如下
set REPOS=%1
set REV=%2
D:\SVNNotify\svnnotify.exe -repos "C:\Repositories\test" -r "%REV%"
-to
AAA@BBB.com.cn
exit 0
希望能解决你的问题。
作者:
fy_fuying
时间:
2012-11-22 14:35
回复
30#
meimei009_2009
不知道我是否理解正确,你说的log输入字数限制,我的理解是有最小字数限制,比如10个字符等。否则不让提交。这个是另外的hook钩子脚本来实现的,脚本名:pre-commit.bat
内容如下
@echo off
set svnlook="D:\Program Files\VisualSVN Server\bin\svnlook.exe"
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
%svnlook% log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交被阻止,请填写关于此次修改的log信息(需大于10个字符),然后再重新提交! 1>&2
exit 1
作者:
辛德的瑞拉
时间:
2013-5-24 15:04
怎么会这样呢?不会把?
返利网登陆
,
淘宝网
,
最新电影
,
365电影网站
作者:
木头人6229
时间:
2013-5-24 15:08
好贴要顶!~~~
作者:
zcc8429
时间:
2014-8-12 10:50
好
作者:
xyl51t
时间:
2015-10-12 15:17
附件下载不了?
楼主能不能重传下,多谢!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2