继续jenkins-pipeline-syntax-for-p4sync - 我无法获得"民意调查SCM"我的管道工作的选项工作。 这是我的配置:
node ('some-node') // not actual value
{
stage ('checkout')
{
checkout([
$class: 'PerforceScm',
credential: '11111111-1111-1111-1111-11111111111', // not actual value
populate: [
$class: 'AutoCleanImpl',
delete: true,
modtime: false,
parallel: [
enable: false,
minbytes: '1024',
minfiles: '1',
path: '/usr/local/bin/p4',
threads: '4'
],
pin: '',
quiet: true,
replace: true
],
workspace: [
$class: 'ManualWorkspaceImpl',
charset: 'none',
name: 'jenkins-${NODE_NAME}-${JOB_NAME}',
pinHost: false,
spec: [
allwrite: false,
clobber: false,
compress: false,
line: 'LOCAL',
locked: false,
modtime: false,
rmdir: false,
streamName: '',
view: '//Depot/subfolder... //jenkins-${NODE_NAME}-${JOB_NAME}/...' // not actual value
]
]
]
)
}
stage ('now do something')
{
sh 'ls -la'
}
}
但是,轮询不起作用,而且作业没有" Perforce软件轮询日志"在GUI中配置perforce源和Poll SCM时,类似非流水线作业的链接。 就像PerforceSCM缺少一个民意调查:真实的设置 - 或者我做错了什么。
目前我有一个解决方法,我在一个非流水线作业中轮询perforce,触发流水线作业,但是我必须手动传递更改列表,我宁愿管道作业完成所有工作。
编辑:版本
詹金斯 - 2.7.4答案 0 :(得分:1)
如果您转到Groovy代码段生成器并选中“包含在投票中”复选框,您会看到生成的代码包含一个订单项:
checkout([
poll: true,
另外,您可能会在工作区名称中使用$ {NODE_NAME}来解决问题。轮询在主服务器上运行,因此可能无法正确找到先前构建的更改编号。如果是这种情况,我知道应该很快就会解决这个问题。
答案 1 :(得分:0)
将所有插件更新到最新版本(截至此发布日期)并重新启动jenkins服务器后 - 轮询似乎正在使用完全相同的配置(作业现在具有轮询日志链接)。 我不确定究竟是什么解决了这个问题 - 但我认为它已经解决了。