Openshift Jenkins(2) -- docker: 找不到命令



使用 openshift 配置的 jenkins pod 时。

使用如下所示的 Jenkins 文件

node {
def app
stage('Clone repository') {
checkout scm
}    
stage('Build image') {
app = docker.build("showcase")
}
stage('Test image') {
app.inside {
sh 'echo "Tests passed"'
}
}
stage('Push image') {
docker.withRegistry('https://registry.hub.docker.com', 'docker-hub-credentials') {
app.push("${env.BUILD_NUMBER}")
app.push("latest")
}
}
}

运行构建时,我看到以下内容

docker build -t showcase .
/var/lib/jenkins/jobs/showcase-2/workspace@tmp/durable-018470ac/script.sh: line 2: docker: command not found

看来 docker 在 jenkins 镜像上不可用:

openshift/jenkins:2

有人可以帮助我了解我可以做些什么来使 docker 可用吗?

你需要将 docker 安装到 Jenkins 中。你可以在这里找到操作方法。使用以下 Dockerfile 代码,您可以创建自己的安装了 Docker 的 Jenkins:

FROM jenkins/jenkins
USER root
RUN apt update && apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
RUN apt update && apt install -y docker-ce
RUN usermod -aG docker jenkins
USER jenkins

这对于openshift/jenkins来说是行不通的,因为它是基于RedHat的,你需要替换这些apt命令。您也许可以在此处找到一些提示。

最新更新