繁体   English   中英

如何使用 Jenkins P4 插件发布声明性管道

[英]How to use Jenkins P4 plugin publish for declarative pipeline

stage('Publish Assets')
{ 
     when{ 
      expression { //some condition } 
     } 
     steps{ 
         p4publish(
             credential: 'abcd', 
             publish: [$class: 'SubmitImpl', delete: false, description: 'Submitted by Jenkins. Build: ${BUILD_TAG}', onlyOnSuccess: true, purge: '', reopen: false], 
             workspace: [$class: 'ManualWorkspaceImpl', charset: 'none', name: 'jenkins-abcd-publish', pinHost: false, spec: [allwrite: true, backup: false, clobber: false, compress: false, line: 'LOCAL', locked: false, modtime: false, rmdir: false, serverID: '', streamName: '//abcd/efg', type: 'WRITABLE', view: '']]) 
     } 
}

我尝试了几件事并将其放在脚本块下,但没有运气。 它不应该使用声明性管道还是我错过了什么? 如果我能在这方面得到一些帮助就好了

在可能有帮助的 P4 插件库中找到了本指南。 他们似乎建议使用代码段生成器来帮助获得正确的语法。 他们展示的示例是用命令式语法编写的,但我不明白为什么它不适用于声明式。

node {
  stage('Sync') {
    // sync files from //streams/st1-main/...
    p4sync(charset: 'none',
      credential: 'phooey1666', 
      populate: [$class: 'AutoCleanImpl', 
        delete: true, 
        modtime: false, 
        pin: '',
        quiet: true,
        replace: true],
      stream: '//streams/st1-main')
  }
}

p4 发布https://github.com/jenkinsci/p4-plugin/blob/master/WORKFLOW.md#using-standard-freestyle-jobs-steps

p4publish(credential: 'phooey1666', 
  publish: [$class: 'SubmitImpl', 
    delete: false, 
    description: 'Submitted by Jenkins. Build: ${BUILD_TAG}', 
    onlyOnSuccess: false, 
    purge: '', 
    reopen: false], 
  workspace: [$class: 'StreamWorkspaceImpl', 
    charset: 'none', 
    format: 'jenkins-${NODE_NAME}-${JOB_NAME}-publish', 
    pinHost: false, 
    streamName: '//streams/st2-rel1'])

https://github.com/jenkinsci/p4-plugin/blob/master/WORKFLOW.md

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM