我试图在Jenkins Docker容器中本地构建一个简单的JS应用,但是构建失败,并显示以下信息:
script.sh: docker: not found (full stack trace is omitted for easier reading)
这是该应用的Jenkinsfile
:
pipeline {
agent { dockerfile true }
stages {
stage('Install') {
steps {
sh 'node -v '
sh 'yarn -v'
sh 'ember -v'
}
}
}
}
这是该应用的Dockerfile
:
FROM node:12
RUN curl -o- -L https://yarnpkg.com/install.sh | bash
RUN npm install -g ember-cli
我想念什么?谢谢。
答案 0 :(得分:0)
您在Jenkins节点上缺少Docker客户端。
如果您将Jenkins作为docker容器运行,则还必须在其中安装Docker。
此Dockerfile将使用Jenkins容器作为基本映像,然后安装docker client,以便它可以与docker守护进程通信。
来自jenkinsci / jenkins:lts
USER root
RUN apt-get update -qq \
&& apt-get install -qqy apt-transport-https ca-certificates curl gnupg2 software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
RUN apt-get update -qq \
&& apt-get install docker-ce=17.12.1~ce-0~debian -y
RUN usermod -aG docker jenkins
或者,如果您以其他方式安装Jenkins,则仍然必须在Jenkins节点上安装Docker。