哪个插件或预安装需要dockerizebuild立jenkins?

哪个插件或预安装需要dockerizebuild立jenkins? 我一直有这个愚蠢的堆栈!

WorkflowScript: 74: Expected a symbol @ line 74, column 15. docker.image('maven:3.3.3-jdk-8').inside("-v $PWD:/data") { ^ WorkflowScript: 74: "error" should have 1 arguments but has 2 arguments instead. @ line 74, column 15. docker.image('maven:3.3.3-jdk-8').inside("-v $PWD:/data") { 

编辑:我已经安装了dockerpipe道插件

完整的jenkins文件

 stage('docker') { steps { checkout scm docker.image('maven:3.3.3-jdk-8').inside("-v $PWD:/data") { writeFile file: 'settings.xml', text: "<settings><localRepository>${pwd()}/.m2repo</localRepository></settings>" sh 'mvn clean install' } } 

您可以在JENKINS-44749的问题中看到类似的错误

看起来问题比我更深,虽然Docker Pipeline插件也失败了,但有以下消息:

 org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 46: Expected a symbol @ line 46, column 25. docker.image('node:7-alpine').inside { 

重新安装所有插件后,将Jenkins更新为2.64,原来的错误消失了,但是我仍然从上面的评论中得到错误。
script块中包装docker.image使其工作,但它以前不需要

  steps { script { docker.image('maven:3.3.3-jdk-8').inside("-v $PWD:/data") { writeFile file: 'settings.xml', text: "<settings><localRepository>${pwd()}/.m2repo</localRepository></settings>" sh 'mvn clean install' } } } 

大多数脚本/声明式pipe道是混合的。

docker.image是脚本pipe道,请参阅https://jenkins.io/doc/book/pipeline/docker/ ,因此需要在声明式pipe道中用script {}封装。

这里有两个工作样品,jenkins奴隶dockerserver

脚本pipe道

节点(“dockerserver”){
    阶段('docker'){
         docker.image('maven:3.3.3-jdk-8')。inside(“ -  v $ PWD:/ data”){
             writeFile文件:'settings.xml',文本:“$ {pwd()} /。m2repo”
             sh'ls'
         }
     }
 }

声明式pipe道:

pipe道{
    代理{label“dockerserver”}
    阶段{
        阶段('docker'){
            脚步 {
                脚本{    
                     docker.image('maven:3.3.3-jdk-8')。inside(“ -  v $ PWD:/ data”){
                         writeFile文件:'settings.xml',文本:“$ {pwd()} /。m2repo”
                         sh'ls'
                     }
                 }
             }
         }
     }
 }