我想设置一个post-receive git钩子,通知jenkins有关更改,但没有触发任务jenkins.
我的post-receive钩子看起来像这样:
curl http://localhost/jenkins/git/notifyCommit?url=<git_repository_url>
Run Code Online (Sandbox Code Playgroud)
如果我在终端发出命令,我收到以下消息:
"No git consumers for URI..."
Run Code Online (Sandbox Code Playgroud)
我有一个连接到Git源代码管理的jenkins工作,给出了存储库URL以及分支: */master
我已经搜索过这个问题了,但是我发现没有什么有用的东西:"没有针对URI的git使用者"
我用:
我在apache中有一个代理设置:
<Proxy *>
Order deny,allow
deny from all
allow from 127.0.0.1
</Proxy>
Run Code Online (Sandbox Code Playgroud)
git存储库是bare.
ido*_*ode 44
为要通知的每个项目启用SCM轮询:
您发送的通知告诉Jenkins轮询存储库,因此项目只会在启用SCM轮询时响应.
mon*_*jbl 16
消息No git consumers for URI总是出现,你应该担心,如果你看到No git jobs using repository.响应将包含计划轮询的作业列表,因此只要您看到它们,就会触发轮询.
那说你可能想检查一下轮询是否真的在做什么.如果你进入配置了Git的工作,你可以看到左边的Git Polling Log的链接.在那里,你将能够看到触发器是否实际上做了什么,更重要的是,如果有错误.
我遇到了类似的问题,我花了一段时间才发现我的Git配置错误.我的工作将在手动触发时构建正常,但轮询触发器将使用与Git二进制文件不同的路径并失败.我最终必须定义Git路径来解决我的问题.
我不得不采取以下步骤:
在完成#1之后,除了"没有针对URI gitRepoURI的git使用者"之外,我还得到了"ProjectName的预定轮询".
然而,看着Git的投票记录,我发现该错误消息:不能运行程序"C:\ Program Files文件(x86)的\的Git\BIN\git.exe":错误= 2,没有这样的文件或目录
要修复此错误,我必须将源代码管理配置为使用工作空间强制轮询(#3).我不确定为什么,因为手动启动的构建工作正常.也许是一个错误 - 可能是Linux服务器和Windows奴隶的混合.但不管怎样,这最终为我解决了这个问题.希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
22320 次 |
| 最近记录: |