我已经在我的本地机器上安装了Jenkins,这台机器运行在MacOS High Sierra上,并安装了docker。我正在尝试运行一个使用docker的简单管道示例。我在管道中添加了以下几行代码:
pipeline {
agent {
docker 'node'
}
stages {
stage("testing 123") {
steps {
sh 'node --version'
}
}
}
}然后在WebGUI中,单击build now,它失败了。显示错误docker: command not found的控制台输出。完整的错误日志如下:
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文档中,只给出了这种语法,并没有提到其他任何内容。
发布于 2018-05-14 22:17:41
我认为以下部分是不正确的:
agent {
docker 'node'
}此命令将尝试启动与“node”标签关联的Docker容器。
如果你想测试一个声明性管道,你应该尝试这个语法(如果你想构建一个Maven项目):
agent {
docker {
image 'maven:3.5.0-jdk-8'
}
}仅供参考,您可以在here中找到许多管道示例。
https://stackoverflow.com/questions/50330122
复制相似问题