Ubuntu下配置SVN自动发送邮件通知
2010-12-23 18:42
429 查看
Ubuntu下配置SVN自动发送邮件通知
1.安装相关软件:sudo apt-get install libauthen-sasl-perl
如果没安装libauthen-sasl-perl,则会提示错误:SMTP Error: Need MIME::Base64 and Authen::SASL todo auth
2.由http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/commit-email.pl.in下载脚本文件,保存为commit-email.pl。
需要注意的是如果该文件是在windows下创建的,在拷贝到Ubuntu环境下需要转换格式,可使用dos2unix进行转换。
3.修改commit-email.pl脚本:
1.commit-email.pl 的默认perl路径#!/usr/bin/env perl 改为/usr/bin/perl
2.设置smtp server,对于公共邮件服务器还需要设置用户名密码:
my ($sendmail, $smtp_server);改为my ($sendmail, $smtp_server,$uname,$passwd);
$smtp_server = "smtp.163.com";
$username='mailaccount***';
$passwd='*******';
my $smtp = Net::SMTP->new($smtp_server)
or die "$0: error opening SMTP session to `$smtp_server': $!/n";
之后加入handle_smtp_error($smtp, $smtp->auth("$username", "$passwd"));
3.设置my $svnlook = "/usr/bin/svnlook";
设置my $no_diff_deleted = 1;
设置my $no_diff_added = 1;
命令行测试能否发邮件:
./commit-email.pl /home/Share/hui/myandroid_R9/trunk/ 1 liuyh@tom.com --from liuyh8@163.com
4.设置邮件标题及内容格式
4.将commit-emai.pl文件保存到版本库父目录svnroot下:/usr/share/subversion/hook-scripts,在版本库的hooks目录(可用命令locate post-commit查看svn hooks安装在什么目录,svn安装目录的hoots/post-commit才会被调用)/home/root/hooks中创建post-commit,内容如下:
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export PATH=$PATH:/usr/share/subversion/hook-scripts
/usr/share/subversion/hook-scripts/commit-email.pl /
"$REPOS" "$REV" /
liuyh@tom.com /
--from liuyh@163.com
5.设置commit-email.pl和post-commit的owner及权限:
chown -R svn:svngroup /mnt/svnroot/commit-email.pl /mnt/svnroot/test/hooks/post-commit
chmod 700 /mnt/svnroot/commit-email.pl /mnt/svnroot/test/hooks/post-commit
6.设置完成,可以修改post-commit中"$REPOS"和"$REV"的值后使用bash post-commit进行测试。
1.安装相关软件:sudo apt-get install libauthen-sasl-perl
如果没安装libauthen-sasl-perl,则会提示错误:SMTP Error: Need MIME::Base64 and Authen::SASL todo auth
2.由http://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/commit-email.pl.in下载脚本文件,保存为commit-email.pl。
需要注意的是如果该文件是在windows下创建的,在拷贝到Ubuntu环境下需要转换格式,可使用dos2unix进行转换。
3.修改commit-email.pl脚本:
1.commit-email.pl 的默认perl路径#!/usr/bin/env perl 改为/usr/bin/perl
2.设置smtp server,对于公共邮件服务器还需要设置用户名密码:
my ($sendmail, $smtp_server);改为my ($sendmail, $smtp_server,$uname,$passwd);
$smtp_server = "smtp.163.com";
$username='mailaccount***';
$passwd='*******';
my $smtp = Net::SMTP->new($smtp_server)
or die "$0: error opening SMTP session to `$smtp_server': $!/n";
之后加入handle_smtp_error($smtp, $smtp->auth("$username", "$passwd"));
3.设置my $svnlook = "/usr/bin/svnlook";
设置my $no_diff_deleted = 1;
设置my $no_diff_added = 1;
命令行测试能否发邮件:
./commit-email.pl /home/Share/hui/myandroid_R9/trunk/ 1 liuyh@tom.com --from liuyh8@163.com
4.设置邮件标题及内容格式
4.将commit-emai.pl文件保存到版本库父目录svnroot下:/usr/share/subversion/hook-scripts,在版本库的hooks目录(可用命令locate post-commit查看svn hooks安装在什么目录,svn安装目录的hoots/post-commit才会被调用)/home/root/hooks中创建post-commit,内容如下:
REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
export PATH=$PATH:/usr/share/subversion/hook-scripts
/usr/share/subversion/hook-scripts/commit-email.pl /
"$REPOS" "$REV" /
liuyh@tom.com /
--from liuyh@163.com
5.设置commit-email.pl和post-commit的owner及权限:
chown -R svn:svngroup /mnt/svnroot/commit-email.pl /mnt/svnroot/test/hooks/post-commit
chmod 700 /mnt/svnroot/commit-email.pl /mnt/svnroot/test/hooks/post-commit
6.设置完成,可以修改post-commit中"$REPOS"和"$REV"的值后使用bash post-commit进行测试。
相关文章推荐
- Ubuntu下配置SVN自动发送邮件通知
- Ubuntu下配置SVN自动发送邮件通知
- Ubuntu下配置SVN自动发送邮件通知
- 如何配置禅道管理自动发送通知邮件
- ubuntu10.10 通过hooks和mailer.py发送svn变更通知邮件
- jenkins配置QQ邮箱自动发送RF测试构建结果通知邮件
- 如何配置禅道管理自动发送通知邮件
- Linux 配置 SVN自动发送邮件
- 如何配置禅道管理自动发送通知邮件
- 如何配置禅道管理自动发送通知邮件
- 邮件自动发送配置详细步骤及注意重点
- python3 自动获取公网ip并发送邮件通知
- Ubuntu 中sendmail 的安装、配置与发送邮件的具体实现
- SVN1.7.14上配置post_commit hooks,实现自动发邮件功能
- [随笔记录]自动通知客户邮件地址已经变更 Postfix配置
- windows上安装apache2.0.59+SVN+自动邮件通知(完整版)[2008-9-5更新]
- SQL SERVER 自动监控数据库异常,自动发送邮件通知
- ubuntu下mutt+msmtp 邮件发送配置
- kettle定时任务_第三方合作方有订单自动发送邮件通知_20161214
- OpenNMS通知配置(发送邮件)