找不到kubernetes jenkins docker命令

时间:2019-04-14 10:20:52

标签: docker jenkins kubernetes

使用头盔安装了詹金斯

helm install --name jenkins -f values.yaml stable/jenkins

已安装詹金斯插件

- kubernetes:1.12.6
- workflow-job:2.31
- workflow-aggregator:2.5
- credentials-binding:1.16
- git:3.9.3
- docker:1.1.6

定义Jenkins管道以构建Docker容器

node {
    checkout scm

    def customImage = docker.build("my-image:${env.BUILD_ID}")

    customImage.inside {
        sh 'make test'
    }
}

引发错误:找不到Docker

enter image description here

2 个答案:

答案 0 :(得分:1)

似乎您只安装了插件,但没有安装软件包。 2种可能性-> 1)配置插件以使用Jenkins安装软件包。转到管理Jenkins->全局工具配置-> Docker->填充名称(如Docker-latest)->自动检查安装,然后添加安装程序(从docker.com下载)。enter image description here

然后保存。就这样。 2)如果已安装在计算机上,请使用Docker的位置更新Jenkins中的PATH变量。

答案 1 :(得分:1)

您可以在管道中为此容器定义具有所需工具(docker,Maven,Helm等)的代理吊舱:

1。使用以下值创建agentpod.yaml:

apiVersion:v1

种类:豆荚

元数据:

标签:

some-label: pod

规格:

容器:

- name: maven

  image: maven:3.3.9-jdk-8-alpine

  command:

    - cat

  tty: true

  volumeMounts:

    - name: m2

      mountPath: /root/.m2

- name: docker

  image: docker:19.03

  command:

    - cat

  tty: true

  privileged: true

  volumeMounts:

    - name: dockersock

      mountPath: /var/run/docker.sock

音量:

- name: dockersock

  hostPath:

    path: /var/run/docker.sock

- name: m2

  hostPath:

    path: /root/.m2
  1. 然后将管道配置为:

管道{

agent {

    kubernetes {

        defaultContainer 'jnlp'
        yamlFile 'agentpod.yaml'
    }
}
stages {
    stage('Build') {
        steps {
            container('maven') {
                sh 'mvn package'
            }
        }
    }
    stage('Docker Build') {

        steps {
            container('docker') {
                sh "docker build -t dockerimage ."
            }
        }
    }

}