Email jenkins svn在提交后和恢复提交后向提交者发送邮件
我正在为我的项目设置jenkins和svn。詹金斯和svn已经在运行了。目前,我有一个post-commit钩子,每当有新的提交时,它就会启动一个构建。 my jenkins通过Email jenkins svn在提交后和恢复提交后向提交者发送邮件,email,svn,jenkins,revert,post-commit,Email,Svn,Jenkins,Revert,Post Commit,我正在为我的项目设置jenkins和svn。詹金斯和svn已经在运行了。目前,我有一个post-commit钩子,每当有新的提交时,它就会启动一个构建。 my jenkins通过jenkins自己的用户目录和启用的注册进行保护。我还激活了基于矩阵的安全性 我希望有以下场景: 无论开发人员何时提交,都会调用post-commit脚本并启动构建+测试。每当构建失败时,执行提交的开发人员将收到一封电子邮件,其中包含提交失败的原因。此外,还应在我的回购中恢复提交。对于还原的东西,我已经安装了还原插件,并
jenkins自己的用户目录
和启用的注册进行保护。我还激活了基于矩阵的安全性我希望有以下场景:
无论开发人员何时提交,都会调用
post-commit
脚本并启动构建+测试。每当构建失败时,执行提交的开发人员将收到一封电子邮件,其中包含提交失败的原因。此外,还应在我的回购中恢复提交。对于还原的东西,我已经安装了还原插件
,并为我的项目激活了它。但它似乎不起作用,因为在我进行了导致构建失败的测试提交之后,我的回购协议没有发生任何变化。也许我错过了另一个jenkins+svn配置?我知道revertig提交不是最佳实践,但我希望在测试/演示的repo中始终有一个有效的构建。
我的post commot
文件如下所示:
#!/bin/bash
REPOS="$1"
REV="$2"
UUID=`svnlook uuid $REPOS`
/usr/bin/wget \
--http-user="user" \
--http-passwd="psswd" \
--header "Content-Type:text/plain;charset=UTF-8" \
--post-data "`svnlook changed --revision $REV $REPOS`" \
--output-document "-" \
--timeout=2 \
http://ip/jenkins/subversion/${UUID}/notifyCommit?rev=$REV
这个脚本基本上正常工作,但正如您所看到的,用户+密码是硬编码的。但我目前不知道如何才能向詹金斯提供授权信息。
也许我有逻辑上的问题,因为每个开发人员不仅需要一个新的结帐+我的回购账户,还需要一个jenkins账户才能让整个想法发挥作用?构建是由hook成功启动的吗?如果你让Jenkins投票会怎么样?是的,它正在使用这个钩子,但是我Jenkins不知道是谁开始构建的。我只知道哪一个绑定到svn的帐户提交了回购协议。如果我错了,请纠正我的错误,但轮询/后提交只是启动生成的另一种方式,因此这不会有任何机会?只是在生成后我的控制台输出中注意到这一行:“无法向测试发送电子邮件,因为不知道电子邮件地址,并且未配置默认电子邮件域。尝试向空的收件人列表发送电子邮件时,将被忽略。”
测试是来自我的repo的用户,我正在将dav_svn与authuserfile一起使用。我将尝试在此处向用户添加电子邮件。