Jenkins 构建如何获取 docker 镜像

时间:2021-06-28 13:08:01

标签: docker jenkins kubernetes

我使用单个托管节点组设置了 EKS 集群,其中包含两个(worker ec2 VM)。我在 k8s 集群中部署了 Jenkins,它已经启动并运行,没有任何问题。

注意:在 Jenkins - 配置系统 - 云 - k8 规范 - Kubernetes URL - 我将我的主地址放在我的 EKS 集群运行的地方,Kubernetes 控制平面在 https://eksendpoint.eu-central-1.eks.amazonaws.com 运行,并且连接测试成功。

k8s cloud configuration

接下来,当我运行 Jenkins 构建时,会创建 Jenkins 构建 pod,一旦构建完成,Jenkins 构建 pod 也会自动终止。

注意:在 Jenkins 中,我只有单节点主节点,并且没有药膏。当 jenkins 文件使用下面的代码创建 Docker 镜像时,还成功标记了基于我的代码的镜像。

现在的问题是在构建 Docker 镜像之后,我应该在哪里获取 Docker 镜像以部署到我的 k8s 环境中。注意:在这种情况下,我没有使用任何 Docker 注册表容器来上传我的 Docker 镜像,我如何获取我的 Docker 镜像。

 stage('Build Docker Image') {
      container('docker') {
        echo 'docker'
        sh "docker build --network=host -t myimage:mytag ."
        sh 'pwd'
        sh 'ls -lrt'
        sh 'docker images'
        sh 'hostname'
      }
    }

Jenkins 日志输出

[Pipeline] sh
+ docker images
+ grep devops
myimage/mytag                  build-12345      8b1c58dcc39d   3 seconds ago       583MB

[Pipeline] sh
+ hostname
worker23cc8b1c0-c6b0-415b-b0e9-f23186ca39e8-xsm58-z7wmk

1 个答案:

答案 0 :(得分:1)

kubernetes 资源指定要在 pod 内运行的容器映像,期望该映像在容器映像注册表中可用。无法使用映像注册表中不可用的映像创建 pod。