首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins docker:找不到命令

Jenkins docker:找不到命令
EN

Stack Overflow用户
提问于 2018-05-14 20:17:55
回答 1查看 5.4K关注 0票数 4

我已经在我的本地机器上安装了Jenkins,这台机器运行在MacOS High Sierra上,并安装了docker。我正在尝试运行一个使用docker的简单管道示例。我在管道中添加了以下几行代码:

代码语言:javascript
复制
pipeline {
    agent {
        docker 'node'
    }
    stages {
        stage("testing 123") {
            steps {
                sh 'node --version'
            }
        }
    }
}

然后在WebGUI中,单击build now,它失败了。显示错误docker: command not found的控制台输出。完整的错误日志如下:

代码语言:javascript
复制
Started by user Happycoder
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] node
Running on Jenkins in /Users/Shared/Jenkins/Home/workspace/test
[Pipeline] {
[Pipeline] sh
[test] Running shell script
+ docker inspect -f . node
/Users/Shared/Jenkins/Home/workspace/test@tmp/durable-20ded4c0/script.sh: line 2: docker: command not found
[Pipeline] sh
[test] Running shell script
+ docker pull node
/Users/Shared/Jenkins/Home/workspace/test@tmp/durable-ebdc1549/script.sh: line 2: docker: command not found
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE

为什么会发生这种情况?在Jenkins文档中,只给出了这种语法,并没有提到其他任何内容。

EN

回答 1

Stack Overflow用户

发布于 2018-05-14 22:17:41

我认为以下部分是不正确的:

代码语言:javascript
复制
agent {
  docker 'node'
}

此命令将尝试启动与“node”标签关联的Docker容器。

如果你想测试一个声明性管道,你应该尝试这个语法(如果你想构建一个Maven项目):

代码语言:javascript
复制
agent {
  docker {
    image 'maven:3.5.0-jdk-8'
  }
}

仅供参考,您可以在here中找到许多管道示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50330122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档