2014年(12)
分类: 项目管理
2014-03-31 15:12:21
此功能的配置分为以下两大步:
1、使用mutt+msmtp做linux邮件客户端;
2、修改服务器端仓库hooks目录下的post-receive脚本。
注:文中红色字体为命令;蓝色字体为文件内容。
Linux下mutt+msmtp客户端配置:
一、安装MSMTP
1、wget
2、tar xvf msmtp-1.4.30.tar.bz2
3、cd msmtp-1.4.30
4、./configure --prefix=/usr/local/msmtp
5、Make
6、make install
7、cd /usr/local/msmtp/
8、mkdir etc #配置文件目录和配置文件都要自己建
9、cd etc
10、vim msmtprc #手动创建配置文件
以下是msmtprc文件中的内容:
defaults
account jianlong343
host smtp.163.com #发送邮件服务器
from #从哪个邮箱发出
auth login
user #邮箱用户名
password xxxxxxx #邮箱密码,这里可是明文的,如果你觉得不安全可以把文件改为600属性
tls off
account default:jianlong343
logfile /var/log/mmlog #mmlog为发送邮件记录log文件
以上配置完成后用./usr/local/msmtp/bin/msmtp 命令进行测试。(随便输入一些内容用ctrl+d结束。然后到邮箱看看有没有收到,如果这里提示错误按照错误代码找原因,或者看看上面的日志文件)
二、安装MUTT
1、sudo apt-get install mutt
2、sudo vi /etc/Muttrc
在Muttrc文件的末尾增添以下配置信息
set sendmail="/usr/bin/msmtp"
set realname="Data Report"
set editor="vi"
set from=jianlong343@163.com
set envelope_from=yes
至此MSMTP + MUTT的配置结束!
注:以下操作均在Git服务器端执行
一、替换hooks目录下的post-receive脚本
1、将post-receive拷贝到仓库的hooks目录下;
2、$sudo chmod a+x post-receive (增加post-receive的执行权限);
二、配置GIT库下面的config文件
[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
sendmail=/bin/msmtp
emailprefix = "[GIT NOTICE]"
showrev = "git show -c %s;echo"
mailinglist = #此处添加邮箱地址,push时就会发送邮件给列表中的邮箱。邮箱名之间用“逗号”隔开。
envelopesender =
注:config中的文件可手动编辑;也可以通过一下命令配置(请参照post-receive脚本):
git config hooks.mailinglist
git config hooks.announcelist
git config hooks.emailprefix
三、在GIT库目录下新建名为description的文件。
在文件中写入项目名称,邮件通知将会用这个项目名称作为主题。
至此,当在客户端执行git push动作时,就会有邮件通知发出。
(如需调整通知邮件的格式,可以通过修改post-receive脚本内容实现。参考文章http://androidstudy.iteye.com/blog/1816830)
post-receive脚本配置: