詹金斯。指定的代理类型“docker”无效。必须是 [any, label, none] 之一

Posted

技术标签:

【中文标题】詹金斯。指定的代理类型“docker”无效。必须是 [any, label, none] 之一【英文标题】:Jenkins. Invalid agent type "docker" specified. Must be one of [any, label, none] 【发布时间】:2020-09-26 21:52:05 【问题描述】:

我的 JenkinsFile 看起来像:

pipeline 
    agent  
        docker  
            image 'node:12.16.2'
            args '-p 3000:3000'
         
    
    stages 
        stage('Build') 
            steps 
                sh 'node --version'
                sh 'npm install'
                sh 'npm run build'
            
        
        stage ('Deliver') 
            steps 
                sh 'readlink -f ./package.json'
            
        
    

我曾经在本地拥有 Jenkins,并且此配置有效,但我将其部署到远程服务器并收到以下错误:

WorkflowScript: 3: Invalid agent type "docker" specified. Must be one of [any, label, none] @ line 3, column 9.
           docker  

我在网上找不到解决这个问题的方法,请帮帮我

【问题讨论】:

这可能是由于没有安装 Docker Pipeline 插件。 我安装了插件,在全局设置中指明了docker主机,但还是报这个错误 【参考方案1】:

您必须安装 2 个插件:Docker pluginDocker Pipeline。希望对您有所帮助。

【讨论】:

由于某种原因这没有帮助 在完全重新安装并安装所有必要的插件后,我有这个错误:“Jenkins”没有标签“docker” @Zimovik007 好吧,我用的是this tutorial。我已经完成了所有先决条件(尽管对于 Ubuntu 18.04,也可以在 DigitaOcean 上找到),唯一的障碍是我在上面的评论中提到的这 2 个插件。您可能会遵循相同的路线,看看它会带来什么。对我来说,我有一个工作的 Jenkins 管道。请注意,他们使用的 Node 应用程序已经过时并且无法正常工作。这将需要大量更新。虽然管道本身可以工作。 嗯,我觉得我一直在做错事【参考方案2】:

而不是 代理人 码头工人 图片“节点:12.16.2” 参数'-p 3000:3000'

试试 代理人 任何 图片“节点:12.16.2” 参数'-p 3000:3000'

这对我有用。

【讨论】:

以上是关于詹金斯。指定的代理类型“docker”无效。必须是 [any, label, none] 之一的主要内容,如果未能解决你的问题,请参考以下文章

詹金斯管道:代理与节点?

为啥詹金斯抱怨我的反向代理设置被破坏了?

Azure 无法访问证书 PrivateKey“指定的提供程序类型无效”

docker之docker-compose——容器管理

docker:无效的引用格式:存储库名称必须为小写。请参阅“搬运工运行--帮助”

Pyqt5 代理类型对该操作无效