哪个插件或预安装需要在jenkins上建立dockerize? 我一直有这个愚蠢的堆栈!
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") {
编辑:我安装了docker管道插件
完整的jenkinsfile
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'
}
}
答案 0 :(得分:2)
大多数脚本/声明性管道都是混合的。
docker.image
是脚本化管道,请参阅https://jenkins.io/doc/book/pipeline/docker/,因此需要在声明性管道中包含script {}
。
这是两个工作样本,jenkins slave dockerserver
脚本管道
node("dockerserver") { stage('docker') { docker.image('maven:3.3.3-jdk-8').inside("-v $PWD:/data") { writeFile file: 'settings.xml', text: "${pwd()}/.m2repo" sh 'ls' } } }
声明性管道:
pipeline { agent { label "dockerserver" } stages { stage('docker') { steps { script { docker.image('maven:3.3.3-jdk-8').inside("-v $PWD:/data") { writeFile file: 'settings.xml', text: "${pwd()}/.m2repo" sh 'ls' } } } } } }
答案 1 :(得分:1)
似乎问题比我更深,但是因为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后,原始错误消失了,但我仍然从上面的评论中得到错误。
在docker.image
块中包裹script
使其有效,但在之前不需要。
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'
}
}
}