当我的管道轮询Mercurial仓库以进行更改时,它不会检测到任何更改,并且不会触发新版本。
在插件文档之后,我设置了一个推钩来触发轮询,它工作正常,但无法检测到更改。我得到的只是
Mercurial Polling Log
于2018年5月19日晚上11:58:10开始
中没有轮询基线
完成。花了0毫秒
无变化
我正在与: - 詹金斯v2.107.3 - Mercurial插件v2.3
我刚创建了一个测试mercurial repo,其中包含一些带有随机内容的文件来测试设置,还有一个jenkins管道' polling-test'检查回购并回声" hello world"。
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout changelog: true,
poll: true,
scm: [
$class: 'MercurialSCM',
credentialsId: 'jenkins',
revision: 'default',
revisionType: 'BRANCH',
source: 'ssh://hg-user@hg-server/test-repo'
]
}
}
stage('Tests') {
steps {
echo "Hello World"
}
}
}
}
还检查了Poll SCM选项,没有任何计划。
我修改了repo做类似的事情:
$ echo "foo" > bar
$ hg add bar
$ hg commit -m "change"
$ hg push
然后用
触发轮询$ curl "https://jenkins-server/mercurial/notifyCommit?url=ssh://hg-user@hg-server/test-repo"
Scheduled polling of polling-test
轮询日志显示已触发,但未发现任何更改。
我做错了什么?如何检测变更?
答案 0 :(得分:0)
通过在"全局工具"中添加Mercurial安装,将管道脚本更改为
,我能够正确地进行轮询工作pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout([$class: 'MercurialSCM', credentialsId: 'jenkins', installation: 'Mercurial', source: 'ssh://hg-user@hg-server/test-repo'])
}
}
stage('Tests') {
steps {
echo "Hello World"
}
}
}
}
同时选中Polling选项,当然也是第一次手动运行管道以获取参考变更集。