Jenkins管道调查perforce

时间:2016-12-21 10:27:42

标签: jenkins perforce jenkins-pipeline

继续jenkins-pipeline-syntax-for-p4sync - 我无法获得"民意调查SCM"我的管道工作的选项工作。 这是我的配置:

  1. "民意调查SCM"已选中并设置为每10分钟轮询一次
  2. 管道脚本包含以下内容:
  3. 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' } }
    1. 手动完成工作
    2. 但是,轮询不起作用,而且作业没有" Perforce软件轮询日志"在GUI中配置perforce源和Poll SCM时,类似非流水线作业的链接。 就像PerforceSCM缺少一个民意调查:真实的设置 - 或者我做错了什么。

      目前我有一个解决方法,我在一个非流水线作业中轮询perforce,触发流水线作业,但是我必须手动传递更改列表,我宁愿管道作业完成所有工作。

      编辑:版本

      詹金斯 - 2.7.4
      P4插件 - 1.4.8
      管道插件 - 2.4
      Pipeline SCM Step插件 - 2.2

2 个答案:

答案 0 :(得分:1)

如果您转到Groovy代码段生成器并选中“包含在投票中”复选框,您会看到生成的代码包含一个订单项:

checkout([
            poll: true,

另外,您可能会在工作区名称中使用$ {NODE_NAME}来解决问题。轮询在主服务器上运行,因此可能无法正确找到先前构建的更改编号。如果是这种情况,我知道应该很快就会解决这个问题。

答案 1 :(得分:0)

将所有插件更新到最新版本(截至此发布日期)并重新启动jenkins服务器后 - 轮询似乎正在使用完全相同的配置(作业现在具有轮询日志链接)。 我不确定究竟是什么解决了这个问题 - 但我认为它已经解决了。