【发布时间】:2020-11-17 23:03:08
【问题描述】:
我已经在我们的 Jenkins 中安装了Kubernetes plugin - 1.23.3,并且能够在 kubernetes pod(动态 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 命令。我们的想法是在 Kubernetes 集群 pod 上使用我们自己的 docker 镜像作为动态 Jenkins 构建代理来执行 build + static analysis。
如何在 Kubernetes 集群中使用我们的私有 docker 注册镜像并将它们作为 Jenkins slave 执行?我有下面的脚本管道代码。到 K8S 工作节点的第 1 阶段“SCM 代码检查”正在运行,下一个第 2 阶段构建它正在从 template Kubernetes Pod Template 启动 pod 代理。但如果使用docker: not found 失败。似乎试图在 pod 中提取我们的注册表图像。我们的工作节点系统的代码需要安装在动态 Jenkins 从属 pod 中并执行构建和下一个阶段。任何实现的方向都会有所帮助。
node ("kubupods") {
stage('Code Compile') {
sh 'hostname'
}
stage('Code Analysis') {
sh 'hostname'
}
}
【问题讨论】:
标签: docker jenkins kubernetes jenkins-kubernetes