Jenkins Pipeline Syntax for “p4sync”

前端 未结 1 1926
天涯浪人
天涯浪人 2021-01-12 10:19

I\'m trying to sync to Perforce in my pipeline script, but from the documentation I don\'t see a way to set the \"workspace behavior\", even though the plugin itself seems t

相关标签:
1条回答
  • 2021-01-12 10:49

    You will need to use the full checkout DSL, the p4sync DSL is only basic. The easiest way is to use the snippet generator (Pipeline Syntax link), select checkout: General SCM then Perforce Software from the SCM list.

    You will then be able to define a detailed View. For example:

    checkout([
      $class: 'PerforceScm', 
      credential: 'phooey1666', 
      populate: [
        $class: 'AutoCleanImpl', 
        delete: true, 
        modtime: false, 
        pin: '', 
        quiet: true, 
        replace: true
      ], 
      workspace: [
        $class: 'ManualWorkspaceImpl', 
        charset: 'none', 
        name: 'jenkins-${NODE_NAME}-${JOB_NAME}', 
        pinHost: false, 
        spec: [
          allwrite: true, 
          clobber: false, 
          compress: false, 
          line: 'LOCAL', 
          locked: false, 
          modtime: false, 
          rmdir: false, 
          streamName: '',
          view: '''
            //depot/... //jenkins-${NODE_NAME}-${JOB_NAME}/...
            -//depot/tests/... //jenkins-${NODE_NAME}-${JOB_NAME}/tests/...'''
        ]
      ]
    ])
    
    0 讨论(0)
提交回复
热议问题