如何通过 scm 更改触发 jenkins 管道作业?

How to trigger jenkins pipeline job by scm change?

我刚刚开始使用 Jenkins 中的管道,我正在寻找一种在 scm 更改时自动触发构建的方法。 在使用管道之前,我使用了 Bitbucket webhook。但现在它给了我一个例外

No git jobs using repository:

显然在扫描所有工作以搜索使用存储库的人。但它无法在此管道脚本中识别它

node('master')  {

    stage 'Checkout'
    git url: 'ssh://git@git...'
    ...

有办法配置吗? 或者我应该将脚本放在 repo 的 Jenkinsfile 中,然后将构建配置为使用此存储库并使用 webhook 连接它?

由于您的作业没有配置 'Git'(因为您在脚本中配置了它),作业无法使用 BitBucket webhook。

您应该使用 Jenkins Git 配置(拉 scm)向执行结账的管道添加一个作业,或者您应该设置 BitBucket 为每个 git-push(使用 BitBucket 附加组件或 post-receive hook)。

您可以使用配置为与 "the usual way" 中的 BitBucket 交互的旧式作业,并在 "Trigger/call builds on other projects" 构建步骤中触发新的管道作业。