2013-08-22 21 views
1

当我尝试通过post-commit脚本调用Jenkins构建时,svn返回一个拒绝访问失败。使用方向在https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin我的第一次尝试,随后与特定的配置詹金斯在svn post-commit调用jenkins构建http失败

首先詹金斯配置:
[X]启用安全=>詹金斯自己的用户数据库
[X]防止跨站请求伪造攻击( W/&瓦特/启用默认克拉姆发行人
这回

Error: Connecting to SERVER_IP:8080... failed: Permission denied. 

在此之后用各种wget的几次都失败了选项,如http用户,用户,http密码,密码等我改变了詹金斯服务器配置,以停止使用CSRF。这也失败了。我传递了用户API令牌,作业API令牌和普通用户名/密码。当这些失败时,我试图从命令行本身调用作业,使用wget,并且令人惊讶地成功。

当前詹金斯配置:
所有安全选项被禁用。我“米不使用的用户,我没有使用令牌或任何东西。

的SVN后提交的文件只有在它有一个命令。

wget http://SERVER_IP:8080/job/JOB_trunk/build?token=BUILD --tries=2 --timeout=2 

这个工作的命令行。詹金斯构建Jenkins并没有像我提供的用户那样运行构建wget--http-user--http-password虽然它不是以用户身份构建的,但我希望它至少可以构建,并且没有?令牌选项。

如果我使用sudo /var/svn/JOB/hooks/post-commit运行post-commit hook,则Jenkins构建运行。

每次我向svn提交时,post-commit钩子都会运行,并尝试触发Jenkins构建,并返回下面的错误。

Error: post-commit hook failed (exit code 1) with output: 
Error: --2013-08-21 21:36:37-- http://SERVER_IP:8080/job/JOB_trunk/build?token=BUILD 
Error: Connecting to SERVER_IP:8080... failed: Permission denied. 

虽然我可以手动生成的东西,轮询SVN变化,或等等......我感兴趣的只是触发建立从post-commit钩子。

SVN服务器在CentOS6上运行。
Jenkins在Win7上运行。

出于测试目的,我试图通过使用脚本中的su命令来触发构建并继续出现问题。如果我从命令行运行脚本,它会成功构建作业,而当svn提交触发挂钩时它不会触发构建。

/bin/su -c `wget http://SERVER_IP:8080/job/JOB_trunk/build --tries=2 --timeout=2 

任何有识之士为所发生的事情会让我试图得到它的工作的一个很快乐的人,一个星期后,非常感激和小时。

回答

1

(我认为你的提交后文件中的“wget wget”是一个错字。)

对我来说,你的CentOS6服务器有一些网络内核问题。

现在我想知道哪个命令打印“失败:权限被拒绝”。我从来没有见过wget失败,它看起来更像是一个本地系统故障(如open()系统调用失败)。

要确认这样的问题,请尝试将wget作为非root用户的其他地址(如google.com)执行。它工作吗?

也可以使用strace来了解更多。

strace wget etc 

并注意到失败线。

如果是这样,你编译了你自己的内核吗? Have you set CONFIG_ADROID_PARANOID_NETWORK to true

注:CSRF保护的站点,你需要添加额外的参数下载屑(这是在Subversion plugin page

+0

定义是,它是一个错字,我会解决这个问题谢谢指点出来。 。我还没有编译我自己的内核,我将在完成后添加你的建议结果。感谢您的帮助@coffeebreaks,非常感谢。 – Riana

+0

我收到错误错误:strace:ptrace(PTRACE_TRACEME,...) :使用命令时,权限被拒绝 – Riana

+1

您的CentOS6配置对于其用户来说非常严格,无论是在配置级还是使用像SELinux这样的安全服务,您自己安装了系统吗?您是否重新编译了内核?像SELinux?它适用于例子允许你禁用跟踪(阅读http://danwalsh.livejournal.com/49336.htm和http://wiki.centos.org/HowTos/SELinuxl)。这现在可能成为一个SELinux的问题,并且可能与svn,jenkins和颠覆无关...... – coffeebreaks

相关问题