【发布时间】:2018-12-13 12:42:45
【问题描述】:
我在 MacOS-HighSierra 上使用带有管道的 Jenkins 版本 2.121.1。
我有一个名为 build_docker_image.sh 的 shell 脚本,它使用以下命令构建 docker 映像:
docker build -t test_api:1 -f test-dockerfile
test-dockerfile 是一个 Dockerfile 并且有构建镜像的说明。
在 CLI 中,整个设置工作正常! 但是,当我从 Jenkins 服务器流水线上下文中运行它时,它在上面一行失败并出现错误:docker: command not found
从 Jenkins 服务器触发的步骤很简单。调用脚本:
stage ('Build-Docker-Image') {
steps {
sh '/path/to/build-docker_image.sh'
}
}
在 Jenkinsfile 中,我确保 $PATH 包含 Docker 的路径。
【问题讨论】:
-
> 我确保 $PATH 包含 Docker 的路径。
-
@StephenKing 感谢您让我关注 $PATH。我正在使用声明式管道。因此,一旦我在它使用的环境指令中设置了环境变量,我就不需要在每个步骤中或在 shell 脚本中处理环境变量。
-
感谢您告诉我。由于您省略了代码,这对我来说是最明显的事情......
标签: docker jenkins jenkins-pipeline