首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多分支管道作业的分支索引是否应由网络钩子自动触发?

多分支管道作业的分支索引是否应由网络钩子自动触发?
EN

Stack Overflow用户
提问于 2017-05-10 14:36:10
回答 2查看 13.2K关注 0票数 2

我已经在Jenkins中设置了许多多分支管道作业(运行2.46.2LTS、分支API2.0.8、GitHub分支源2.0.5和管道多分支2.14),并且刚刚注意到分支索引--以及对旧分支的任何清理--似乎不是由来自GitHub的web钩子调用触发的。只有当有人手动单击"Scan“链接或重新保存Jenkins中的作业配置时,它才会被触发。我使用“扫描存储库日志”页面中显示的时间戳来指示何时进行分支索引。

似乎正在正确地检测和构建新的分支或对现有分支的更改,因此来自源代码管理(GitHub)的webhooks正在工作,但令人惊讶的是,这也没有触发分支索引,从而引发旧的分支清理。我只是无法从文档中判断这是否正确和预期的行为,或者在我的设置中是否有不正确的地方。

我注意到,“如果不是定期运行”设置的帮助文本是这样的:

某些类型的文件夹会在收到外部事件后立即自动重新编制索引。例如,多分支项目在收到SCM更改通知时,将重新检查其SCM存储库中是否有新的、已删除的或修改过的分支。(推送通知可以按照每个分支源使用的SCM插件进行配置。)然而,这类通知有时可能不可靠,或者Jenkins甚至可能没有跑过去接收它们。在某些情况下,甚至不可能立即通知,例如,因为Jenkins位于防火墙后面,只能轮询外部系统。 此触发器允许周期性回退,但在必要时。如果在指定的时间间隔内没有执行索引,则将安排索引。例如,在多分支项目中,如果源代码控制系统未配置为推送通知,则设置一个短间隔(大多数人将选择15分钟至1小时)。如果源控制系统配置为push通知,则将对应于丢失推送通知的最大可接受延迟的间隔设置为当天的最后一次提交。(后续提交无论如何都会触发索引,从而导致提交被选中,因此大多数人会选择4小时到1天。)

这当然意味着多分支管道作业的索引应该由分支事件(例如,通过web钩子从GitHub推送)重新触发,但是我索引日志上的时间戳似乎不对。

所以,我是在观察你的行为吗?如果是这样,并且我希望定期清理旧的分支,我是否需要在“扫描存储库触发器”下选择“如果不是定期运行”复选框呢?或者我的设置有什么问题,妨碍了它按预期工作吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-08 18:57:40

根据正式文件

默认情况下,Jenkins不会自动重新索引分支添加或删除的存储库(除非使用Organization文件夹),因此配置多分支管道以定期在配置中重新索引通常是有用的。

票数 4
EN

Stack Overflow用户

发布于 2017-05-11 04:08:41

我依赖于“定期(如果不是运行的话)”来清理分支,2)为全新的repos创建容器作业(我使用"Bitbucket Team/Project",它是"Github“的bitbucket版本,它基本上为组织中的每个回购创建了一个多分支管道)。我将“定期运行”设置为每个项目每天运行一次。

看起来这些东西似乎可以通过web钩子来实现,但在我的经验中却并非如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43895588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档