我有以下初步情况:
我有一个运行Jenkins2.379的码头集装箱
此Jenkins安装了Bitbucket服务器集成和Bitbucket分支源插件
与Bitbucket服务器的连接似乎工作正常
我还设置了一个多分支管道,用于监听连接的Bitbucket服务器示例
中的存储库我已经将“扫描多分支管道触发器”设置为“所有推送”。
最后,Jenkins似乎已经在相应的Bitbucket项目中正确地实现了webhook。
对多分支管道的某些配置所做的更改会触发扫描进程,该进程可以正常工作。如果在推送过程中相应分支的代码发生更改,则会触发生成。
单击“立即扫描多分支管线”按钮具有相同的结果。
但是如果我只是将一些代码更改推送到一个分支中,什么也不会发生,我的管道不会自动启动,也不会启动任何包含所做更改的构建过程。
目标:开发人员在这个项目的一个分支中所做的每一次推送都应该触发对Jenkis中的新分支的扫描,以及对新分支或那些发生了变化的分支的构建过程。
1条答案
按热度按时间eanckbw91#
我已经找到了问题/解决方案。正如我所说,我的Jenkins运行在Docker容器中,并在我的PC上本地托管(LocalHost:8080)。
通过凭证,从Jenkins到Bitbucket的路径和创建webhook的过程都是有效的,但是,对于这个webhook,Bitbucket服务器插件输入了它的地址(localhost:8080),所以现在当推送到Bitbucket repo发生时,这个webhook是在Bitbucket的localhost:8080上触发的(所以可能是Bitbucket本身而不是Jenkins)。
现在的解决方案非常简单,我使用一个名为ngrok的工具,使我的localhost:8080(Jenkins运行的主机)可以通过一个来自互联网的URL访问,然后我只需要在系统配置中将这个URL存储在Jenkis中,并在我的Bitbucket库中修改webhook。