git stash,jenkins pipeline,没有使用存储库的git工作

问题描述 投票:7回答:1

我正在尝试使用stash webhook到jenkins插件设置从Atlassian Stash触发jenkins multibranch管道。我的项目配置有定期设置为@daily,定期如果没有设置为1天我已索引我的分支但是当我点击隐藏webhook配置上的'触发詹金斯'按钮时,我得到以下错误

Error: Jenkins response: No git jobs using repository

我之前已经读到这可能是因为在项目上禁用了轮询,但是没有设置在顶层启用它。我已经尝试在主分支Jenkinsfile中启用它,但是当我为主作业“查看配置”时它没有显示为已检查。我也可以在Jenkins日志中看到:

no trigger, or post-commit hooks disabled, on my-repo » master

我找不到任何其他方法让这个工作?

git jenkins jenkins-pipeline bitbucket-server
1个回答
1
投票

詹金斯日志提示你看到的是正确的

no trigger, or post-commit hooks disabled, on my-repo » master

创建作业后,默认情况下禁用Jenkins端的提交后挂钩,而不显式启用它。要启用它,您应该通过选择以下两个触发器来更新要触发的作业的Build Triggers配置(在您的情况下为my-repo » master):

  1. [✓]将更改推送到BitBucket时构建
  2. [✓]民意调查SCM(将“计划”文本框保留为空)

enter image description here

如果你使用Jenkins管道脚本而不是Jenkins UI,那么你的Jenkinsfile应该包含正确的triggers指令(对应于上面的屏幕):

triggers {
  bitbucketPush()
  pollSCM('') // empty cron expression string
}

重要的是将Schedule字段文本框留空。否则,如果您输入cron表达式,那么您的构建将被触发两次。一旦发出提交挂钩通知,第二个通知cron表达式触发器被触发。它由Schedule字段下的标签解释:

没有时间表只会因为SCM更改而运行,如果由提交后挂钩触发的话

© www.soinside.com 2019 - 2024. All rights reserved.