Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99350
  • 博文数量: 12
  • 博客积分: 477
  • 博客等级: 下士
  • 技术积分: 139
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-31 15:38
文章分类

全部博文(12)

文章存档

2014年(1)

2011年(2)

2010年(9)

分类:

2011-08-18 15:46:19

                            GIT自动发邮件功能配置

 

原来配置过SVN版本控制在项目成员提交CODE的时候,会自动发邮件给团队成员,公司在使用GIT之后,同样有这样需求,如下是配置方法.

GIT的邮件通知是通过MSMTPMUTT来发信的,所以首先需要配置MSMTPMUTT环境。

 

1、  下载安装MSMTP

wget

tar jxvf msmtp-1.4.24.tar.bz2

cd msmtp-1.4.24

./configure --prefix=/usr/local/msmtp

make

make install

 

ln /usr/local/msmtp/bin/msmtp /bin/msmtp

 

查看MSMTP的配置文件目录,执行如下命令:

[root@bogon msmtp]# msmtp --version

msmtp version 1.4.24

Platform: x86_64-unknown-linux-gnu

TLS/SSL library: OpenSSL

Authentication library: built-in

Supported authentication methods:

plain cram-md5 external login

IDN support: enabled

NLS: enabled, LOCALEDIR is /usr/local/msmtp/share/locale

Keyring support: none

System configuration file name: /usr/local/msmtp/etc/msmtprc  #此为改软件的配置文件路径

User configuration file name: /root/.msmtprc

 

Copyright (C) 2010 Martin Lambers and others.

This is free software.  You may redistribute copies of it under the terms of

the GNU General Public License <

There is NO WARRANTY, to the extent permitted by law.

创建目录:

mkdir -p /usr/local/msmtp/etc/

创建配置文件

vi /usr/local/msmtp/etc/msmtprc

defaults

account duhaitao

host mail.ecworld.net

from

auth login

user gitmail

password pass

tls off

account default : gitmail

logfile /var/log/msmtp.log

 

2、  下载安装MUTT

此软件是在系统安装ISO里面找到的,也可以通过网上下载进行安装。

rpm –ihv mutt-1.4.2.2-3.0.2.el5.x86_64.rpm

安装好之后,会在/etc目录下面生成/Muttrc文件,修改/etc/Muttrc文件:

# for add Muttr

set sendmail="/usr/local/msmtp/bin/msmtp"

set realname="Data Report"

set editor="vi"

set

set envelope_from=yes

 

一切就绪之后就可以测试是否成功。

echo 'test'|mutt -s "testabc" -c duhaitao@ecworld.net -a a.tgz

没有报错,就可以收到邮件了。

 

3、  Post-receive脚本下载

接下来下载GIT发送邮件脚本。下载地址为:

GIT的邮件发送是通过HOOKS目录下面的post-receive 实现的,每当有PUSH操作的时候,就会触发此脚本。

下载脚本,并放到$GIT_DIR/hooks/ 目录下面。$GIT_DIRGIT库的主目录,在把脚本放到HOOKS目录之后,赋予它执行权限。

chmod a+x hooks/post-receive

然后修改GIT库下面的config文件

添加:

[hooks]

        sendmail = /bin/msmtp

        emailprefix = "[GIT NOTICE]"

        showrev = "git show -C %s; echo"

修改$GIT_DIR/description文件,邮件中的标题是这个文件的第一行内容,修改这个文件第一行为你项目的名字。

因为我们使用的是MUTT来发信息的,所以需要修改刚才下载的post-receive脚本。

705行内容:

cat $email_tmp_file | mailx -S smtp="smtp://smtp.cse.ust.hk" -s "$emailsubject" -r $senderemail $recipients

修改为:

cat $email_tmp_file | mutt -s "$emailsubject"  git@ecworld.net

 

为一个邮件别名,里面包括了所有开发成员的邮件。

 

修改完之后,在团队成员进行PUSH的时候,每个人就会收到邮件了,内容如下:

 

参数文档:

http://www.fwolf.com/blog/post/431

 

阅读(14456) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

shine_shine_shine2017-09-30 15:22:52

为什么 mutt+msmtp可以发邮件成功 git配置后提交代码没有反应