Git post commit hook - 没有使用SCM API插件的Git消费者

时间:2018-01-26 08:55:45

标签: git jenkins continuous-integration

我正在尝试在安装git的同一个vm上设置一个jenkins服务器。

似乎当我从我的笔记本电脑推动时,jenkins会触发构建,但每次都会收到一条我不理解的消息:

Scheduled polling of Spring Boot Rest No Git consumers using SCM API plugin for: git@localhost:/home/git/docker-springboot-rest

奇怪的是jenkins似乎已经触发了一个已经检测到我推动的变化的构建但是我假设某些东西是错误配置的。

我已将此行输入文件/ home / git / docker-springboot-rest / hooks / post-receive

curl http://localhost:8080/git/notifyCommit?url=git@localhost:/home/git/docker-springboot-rest

有没有人可以帮我解决这个问题?

1 个答案:

答案 0 :(得分:4)

如果你没有为jenkins使用身份验证,你可以触发一个带有post-receive hook的作业的构建,如

curl http://[jenkins domain]/job/[job name]/build

如果您正在使用身份验证,但允许对jenkins进行匿名读取访问,请首先在作业配置下设置构建触发器令牌

Trigger build remotely

然后作为你的收件后挂钩

curl http://[jenkins domain]/job/[job name]/build?token=[Token Name]

如果您具有身份验证且没有匿名读访问权限,则按上述方式设置构建触发器令牌,同时还将用户名和用户API令牌添加到帖子接收挂钩URL。您可以通过从人员屏幕中选择用户来查找用户API令牌,然后单击配置。在用户配置屏幕上,单击“查看API令牌”按钮以查看该用户的API令牌。 这个post-receive钩子看起来像

http://[username]:[user API Token]@[jenkins domain]/job/[job name]/build?token=[Token Name]

注意:在Jenkins>下可以找到匿名读访问权限。配置全局安全>授权>登录用户可以执行任何操作>允许匿名读取访问