触发在Jenkins中远程构build

我试图通过在我的提交钩子中使用这个URL来触发我的Jenkins项目

curl http://jenkins_server/job/job_name/build?token=TOKEN 

并没有被触发。 但是,当我在我的网页浏览器中input这个URL时,它会触发我的构build。

当我在我的命令提示符尝试时,我得到一个错误

错误404

状态公司:404

例外:
堆栈跟踪:

  (没有)

由Winstone Servlet Engine v0.9生成。 10 2014年4月22日16:57:38 CEST 2014

谁能告诉我我做错了什么?

首先,如Electrawn建议的那样,验证提交钩子运行的服务器实际上可以到达Jenkins DNS。 简单的ping或卷曲到根地址(即http://jenkins_server )就足够了

其次,如果您的Jenkins不允许匿名读取访问并构建触发器(并且大多数安装不会),那么您的问题是您的curl调用未登录。在您的浏览器中,尝试从Jenkins注销,然后转到相同的URL 。 那样有用吗? 可能不会。

要通过curl传递登录凭据,请阅读此处: Jenkins用户身份验证详细信息如何“传递”到使用Jenkins API创建作业的脚本?

这里更简洁的答案

运行curl的服务器是否有一个hosts / DNS条目返回给jenkins_server?