Jenkins管道与文件夹插件。如何在不同的文件夹

时间:2016-12-16 10:23:26

标签: jenkins directory cloudbees

我正在使用 jenkins 2.0 和Cloudbees Folder插件,因为这允许我创建多个类似的项目。可以将每个文件夹中的作业分解出来,留下可以调用参数化作业的顶级作业。

我想将参数化作业放在Generic文件夹中,然后从管道脚本中调用它们。

所以在jenkins浏览器中我会有3个文件夹:ProjA,ProjB和Generic。在ProjA下,我有一个管道作业,需要在通用文件夹中构建一个名为TestJib的作业。

我的管道是这样的:

node('master'){

    stage ('Run job'){ 
        build job: "../Generic/TestJob", 
        parameters: [[$class: 'StringParameterValue', name: 'testa', value: tests]]
    }
}

运行它会:'错误:没有名为../ TestJob'的参数化作业

我在构建作业上尝试了很多变种:“../Generic/TestJob”但我总是得到同样的错误。 如果我将TestJob放在与管道作业相同的文件夹中,这可以正常工作。

1 个答案:

答案 0 :(得分:4)

您只需要在不使用斜杠的情况下设置文件夹。

如果您在文件夹FolderA中有JobA,您的工作将类似于:

stage ('My Stage'){ 
    build job: "FolderA/JobA", 
}

所以对你而言,你的解决方案将是:

node('master'){

stage ('Run job'){ 
    build job: "Generic/TestJob", 
    parameters: [[$class: 'StringParameterValue', name: 'testa', value: tests]]
  }
}

无论您的工作位于何处,您只需指出完整路径。