Jenkins 在清理部分没有定义 docker 镜像

问题描述 投票:0回答:1

我有这样的清理脚本

    post {
        cleanup {
            echo 'Cleaning up workspace'
            agent {
                docker {
                    image 'url to docker image'
                    reuseNode true
                }
            }
            script {
                dir("${projectID}")
                        {
                            sh("skaffold --kubeconfig ../kubeconfig delete -p eks -f skaffold.yaml")
                        }
            }
            deleteDir()
            script {
                for (item in list) {
                    clearTmpImages item
                }
            }
        }
    }

但是当我通过 Jenkins 运行此脚本时,它会引发错误“WorkflowScript:281:缺少必需的参数:“image”@第 281 行,第 17 列。 码头工人{“

所有路径、单词均正确,该脚本在 stage{} 内运行时效果良好。

你能帮忙吗?

我尝试在没有脚本的情况下运行

docker groovy
1个回答
0
投票

post
部分没有
agent
声明。请参阅文档。您可以做的是使用
node
step 来代替。

post {
    cleanup {
        node(...) {
....
        }
    }
}

node
语法不如
agent
灵活,因此您必须在 Jenkins 设置中定义 docker 镜像并为其指定标签。

© www.soinside.com 2019 - 2024. All rights reserved.