使用由openshift配置的詹金斯豆荚时。
使用如下所示的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
jenkins映像上似乎没有docker:
openshift/jenkins:2
有人可以帮助我了解如何使Docker可用吗?
答案 0 :(得分:1)
您需要将docker安装到您的Jenkins。您可以在here上找到方法。通过以下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
命令。您也许可以找到关于该here的一些提示。