Ошибка получения: разрешение отклонено при построении изображения docker с использованием jenkins - PullRequest
0 голосов
/ 09 февраля 2020

Я настроил конвейер jenkins для сборки проекта, получаемого из github. Но я получил ошибку на шаге 2 - Построить образ. Затем я попытался добавить пользователя admin (из jenkins) в группу "docker", и я могу безошибочно выполнить команду build при входе пользователя admin в мастер-виртуал kubernetes без ошибок, однако все еще ошибка с jenkins. Я использовал плагин blueocean для создания конвейера. Знаете ли вы, как это исправить?

enter image description here

ОБНОВЛЕНИЕ: Пожалуйста, смотрите мой jenkinsfile

pipeline {

  environment {
    registry = "192.168.64.162:5000/justme/myweb"
    dockerImage = ""
  }

  agent any

  stages {

    stage('Checkout Source') {
      steps {
        git 'https://github.com/taibc/playjenkins.git'        
      }
    }

    stage('Build image') {      
      steps{

        script {
          dockerImage = docker.build registry + ":$BUILD_NUMBER"
        }
      }
    }

    stage('Push Image') {
      steps{
        script {
          docker.withRegistry( "" ) {
            dockerImage.push()
          }
        }
      }
    }

    stage('Deploy App') {
      steps {
        script {
          kubernetesDeploy(configs: "myweb.yaml", kubeconfigId: "mykubeconfig")
        }
      }
    }

  }

}

1 Ответ

0 голосов
/ 11 февраля 2020

Я решаю эту проблему, устанавливая Jenkins на другой сервер (не принадлежащий кластеру kubernetes). Но у меня возникла другая проблема при развертывании приложения по ссылке: https://github.com/jenkinsci/kubernetes-cd-plugin/issues/122

Здесь мой файл yaml

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: myweb
  name: myweb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: myweb
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
      - image: 192.168.94.162:5000/justme/myweb:1
        imagePullPolicy: Always
        name: myweb

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: myweb
  name: myweb
spec:
  ports:
  - nodePort: 32223
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: myweb
  type: NodePort

Здесь мой jenkinsscript

pipeline {

  environment {
    registry = "192.168.94.162:5000/justme/myweb"
    dockerImage = ""
  }

  agent any

  stages {

    stage('Checkout Source') {
      steps {
        git 'https://github.com/taibc/playjenkins.git'        
      }
    }

    stage('Build image') {      
      steps{

        script {
          dockerImage = docker.build registry + ":$BUILD_NUMBER"
        }
      }
    }

    stage('Push Image') {
      steps{
        script {
          docker.withRegistry( "" ) {
            dockerImage.push()
          }
        }
      }
    }

    stage('Deploy App') {
      steps {
        script {
          kubernetesDeploy(configs: "myweb.yaml", kubeconfigId: "mykubeconfig")
        }
      }
    }

  }

}
...