Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email jenkins svn在提交后和恢复提交后向提交者发送邮件_Email_Svn_Jenkins_Revert_Post Commit - Fatal编程技术网

Email jenkins svn在提交后和恢复提交后向提交者发送邮件

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和svn。詹金斯和svn已经在运行了。目前,我有一个post-commit钩子,每当有新的提交时,它就会启动一个构建。 my jenkins通过
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一起使用。我将尝试在此处向用户添加电子邮件。