openshift jenkins CI制作docker图像
我正在使用openshift okd并从目录中安装Jenkins master。使用去极化管道(Jenkinsfile)的示例项目使用docker执行命令。但docker客户端似乎在jenkins容器中不可用openshift jenkins CI制作docker图像,docker,jenkins,continuous-integration,jenkins-pipeline,openshift,Docker,Jenkins,Continuous Integration,Jenkins Pipeline,Openshift,我正在使用openshift okd并从目录中安装Jenkins master。使用去极化管道(Jenkinsfile)的示例项目使用docker执行命令。但docker客户端似乎在jenkins容器中不可用 /var/jenkins_home/workspace/app@tmp/durable-e839f204/script.sh: docker: not found 因为我使用的是openshift,所以我假设docker必须在主机上可用。但Jenkins是一个没有docker客户的豆荚
/var/jenkins_home/workspace/app@tmp/durable-e839f204/script.sh: docker: not found
因为我使用的是openshift,所以我假设docker必须在主机上可用。但Jenkins是一个没有docker客户的豆荚
问题:在管道脚本中使用docker图像,我应该怎么做
已安装jenkins docker插件,但这不会将docker客户端安装到容器。在谷歌上搜索时,我发现了几篇关于Docker in Docker(DinD)和Docker over Docker的文章
作为解决方法,我使用docker守护程序和客户端二进制文件创建了一个单独的VM。该VM被添加为Jenkins奴隶。这个可以用,但我觉得它太大了。我正在寻找一个更轻的解决方案
我假设docker已经在openshift节点上可用。从openshift catalougue安装Jenkins很容易,Jenkins被配置为访问openshift k8s集群(云设置)
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-v $HOME/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B'
}
}
}
}
我的openshift jenkins应该能够执行这样的管道