小编典典

Jenkins GitHub插件反向分支

jenkins

我在插件页面上有一个问题,但这似乎
对Jenkins支持更加活跃。

将更改推送到任何分支后,该作业将运行并合并到
development分支中,但是大约20秒后,该作业将注意到合并到
development中并再次触发该作业。这不应该发生,因为开发
处于要建立的分支中(具有逆向选择策略)。
当更改推送到母版或发行版(也应排除在外)时,也会发生这种情况。
如果存在合并失败,那么作业将开始一个永无休止的循环,尝试
合并分支,直到手动解决冲突为止。

我也试图从触发构建中排除特定用户,也
没有任何效果。

我开始假设Github插件不尊重选择
策略或其他git插件选项。

希望以下信息能帮助我
解决这个问题。

GitHub Plugin                => 1.5
GitHub API Plugin            => 1.40
GitHub Pull Request Builder  => 1.7
GitHub Authentication Plugin => 0.13.1
Jenkins GIT Plugin           => 1.3.0
Jenkins GIT client Plugin    => 1.0.5

有趣的配置选项

建立分支

master,**master,release,**release,develop,**develop

排除的用户

jenkins
ConvergintJenkins

合并选项

✓ Merge before build
Branch to merge to
    develop

禁用子模块处理✓

选择策略

Inverse

构建触发器

✓ Build when a change is pushed to github
✓ Poll SCM

Git Polling Log

Polling has not run yet.

Github Hook Log

Started on Apr 30, 2013 3:53:14 PM
Using strategy: Inverse
[poll] Last Built Revision: Revision bde1981da849dbfb2fd93aac4de05fd5a832043b (origin/ach)
Fetching changes from the remote Git repositories
Fetching upstream changes from origin
Polling for changes in
Seen branch in repository origin/develop
Seen branch in repository origin/feature-228
Seen branch in repository origin/feature-249
Seen branch in repository origin/master
Seen branch in repository origin/release
Done. Took 1.4 sec
Changes found

阅读 432

收藏
2020-07-25

共1个答案

小编典典

您似乎在这里遇到了两个问题。

您不想建立的分支正在建立。您正在看到一些时髦的合并行为(可能是由于上述几点)。
我认为您的诊断是正确的- I am beginning to assume that the Github plugin does not respect the choosing strategy or the other git plugin options。

过去,我在使用各种GitHub插件时也遇到了问题。他们有一些不错的配置选项,可以做一些聪明的事情,但最终可能会有些不稳定。我坚信,在CI管道中绝对不应该存在任何脆弱性的地方(因为这将导致对其缺乏信任)。

我认为,如果将所有内容都归结为基本知识,就不会出错。使用Jenkins Git插件,并像对待任何Git存储库一样对待GitHub。设置SSH或类似的工具( 此处是有用的帮助文章 ),并设置适当的轮询间隔,您不应该遇到任何问题!

我已经为
使用私有GitHub存储库的组织以这种方式设置了数百个Jenkins职位。希望这可以帮助。

2020-07-25