我已经安装Kubernetes plugin - 1.23.3
在我们的 Jenkins 中,并且能够在 kubernetes pod(Dynamic Jenkins Slave)上执行 shell 命令。这是使用默认值jnlp & jenkins/jnlp-slave:latest
假设如果我更改下面的“名称”和“Docker Image”部分以使用我们的私有注册表和图像
Manage Jenkins --> Configure System--> Cloud --> Pod Template --> Container Template
Name: sonatype
Docker image:sonatype:4546/ubuntu-16.04
它不使用我们的私有 docker 镜像,甚至不在 pod-containers 上运行 shell 命令。这个想法是build + static analysis
在 Kubernetes 集群 pod 上使用我们自己的 docker 镜像作为动态 Jenkins 构建代理来执行。
如何使用我们的私有 docker 注册镜像并在 Kubernetes 集群中作为 Jenkins slave 执行它们?我有下面的脚本管道代码。K8S 工作节点的第 1 阶段“SCM 代码检查”正在运行,下一个第 2 阶段构建它正在从template Kubernetes Pod Template
. 但如果失败了docker: not found
. 似乎试图在 pod 中提取我们的注册表图像。我们的工作节点系统的代码需要安装在动态 Jenkins 从属 pod 中并执行构建和下一个阶段。任何实现的方向都会有所帮助。
node ("kubupods") {
stage('Code Compile') {
sh 'hostname'
}
stage('Code Analysis') {
sh 'hostname'
}
}