簡體   English   中英

無法使用Jenkinsfile在注冊表上推送Docker映像

[英]Unable to push docker image on registry using Jenkinsfile

我試圖通過存儲庫上的Jenkinsfile推送我的圖像,但是當我這樣做時,我將面臨以下錯誤。

Error response from daemon: Get https://mydockerregistryurl/v1/users/: x509: certificate signed by unknown authority

我已經找到了很多關於此的文章,但對此一無所知。

誰能幫助我?

以下是我的jenkinsfile。

#!groovy

pipeline {
  agent {
    node {
      label 'otd-agent'
    }
  }
  stages{
    stage('Test Stage'){
      steps{
          sh 'mvn clean test'
      }
    }
    stage('SonarQube Analysis'){
      steps{
        withSonarQubeEnv('otd-sonar') {
          sh 'mvn sonar:sonar'
        }
      }
    }
    stage('Package Stage'){
      steps{
        sh 'mvn clean package'
      }
    }
    stage('Building Docker image') {
      steps{
        script {
          sh 'docker build . -t jagathe-spike'
        }
      }
    }
    stage('Deploy Docker Image') {
      steps{
        script {
          sh 'docker login -u username -p password docker-registry-default'
          sh 'docker push docker-registry-default/otd-agathe'
        }
      }
    }
  }
}

如果目標注冊表docker-registry-defaultOpenShift上運行,則應部署從OCP在Jenkins主機上下載的OCP CA證書。 有關更多詳細信息,請參閱為外部注冊表安裝證書頒發機構證書

例如,

  • 從您的OCP下載CA證書。
jenkins ~# scp root@master1.ocp.example.com:/etc/origin/master/ca.crt \
           /etc/pki/ca-trust/source/anchors/ocp-ca.crt
  • 執行update-ca-trust以注冊CA。
jenkins ~# update-ca-trust extract
  • 如下所示將CA復制到/etc/docker/certs.d {}是占位符,應使用您的信息正確替換它)。
jenkins ~# cp /etc/pki/ca-trust/source/anchors/ocp-ca.crt \
           /etc/docker/certs.d/${docker-registry-default}:${PORT}
  • 重新啟動docker服務以重新加載
jenkins ~# systemctl restart docker.service

希望對您有幫助。

按照https://jenkins.io/doc/book/pipeline/docker/上的說明使用withRegistry()方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM