我正在尝试设置 Jenkins 以简单地检测 git repo 中分支上的推送事件,并在检测到时运行部署更改的自定义脚本。
我已经设置了 Jenkins,安装了 Github 插件并在 Github 上配置了 webhook。这在我第一次将更改推送到该分支时有效 - 我可以在 Github 中看到正在发送的 webhook,并且在 Jenkins 的 Github 日志中检测到更改并且自定义脚本由 Jenkins 触发,因此 Jenkins 对 Github 的访问正在运行。
现在,如果我对分支进行另一项更改并推送到 Github,则会触发 webhook,但 Jenkins 没有检测到更改。在 Jenkins github 日志中,我看到“没有更改”。在我的 Jenkins 作业配置中,我添加了 Github 项目 URL,在 Source Code Management 中选择了 GIT 并放入 repo URL 并按照 Jenkins 的建议添加到 Branched to Build 部分:
裁判/负责人/我的分支
其中 mybranch 是我的分支名称。在 Jenkins Github Hook Log 中,我可以看到,下面的 REPO 是我在 Github 上的私人仓库。
使用策略:默认 [poll] Last Built Revision: Revision 967ae07f677x581977h74t6c5362b31e8c45638 (refs/remotes/origin/mybranch) /usr/bin/git --version # timeout=10 /usr/bin/git -c core.askpass=true ls-远程 -h git@github.com:REPO.git # timeout=10 完成。耗时 1.5 秒 无变化
任何想法为什么詹金斯检测到后续推送事件但没有检测到变化?我需要在作业中进行任何其他配置设置吗?
我可以设置一个简单的端点来接收 Github webhook 并自己处理它,但我想在未来使用 Jenkins 来完成这项任务。非常感谢