Jenkins:如何获得运行由DSL脚本创建的管道Groovy脚本的权限

时间:2018-08-15 13:51:10

标签: jenkins jenkins-pipeline jenkins-job-dsl

我想使用能够运行groovy文件中存储的管道的DSL脚本创建Jobs。我有一个种子工作可以运行此测试DSL脚本:

    pipelineJob('test') {

    scm {
        git("git://gitserver.com/bitbucket/test-automation")
    }
      definition {
        cps {
               script(''' library identifier: "InstallerPipeline@${branchToUse}", retriever: modernSCM([$class: 'GitSCMSource', credentialsId: '', id: '65ameo11-d41d-7634-8743-ab4a734e036', remote: 'ssh://git@git://gitserver.com/bitbucket/test-automation.git'])
               print "Running pipeline ${pipelineChoice}..."
               "${pipelineChoice}"() ''')
           sandbox()
            }
       }
     }

代码可以正确创建作业,但是出于安全原因,我无法运行作业。 我收到如下错误:

  

不允许脚本使用staticMethod。...

我必须手动取消从管道脚本发出的每个调用才能运行。 我已经禁用了Job DSL脚本的脚本安全性。 如果我删除了sandbox()行,但是整个脚本无法运行。

创建这样的工作的正确方法是什么?或如何解决这个问题?

0 个答案:

没有答案