哪个插件或预安装需要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' } } } } } }