![](/img/trans.png)
[英]How to configure a Jenkinsfile to build docker image and push it to a private registry
[英]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-default
在OpenShift
上運行,則應部署從OCP
在Jenkins主機上下載的OCP
CA
證書。 有關更多詳細信息,請參閱為外部注冊表安裝證書頒發機構證書 。
例如,
jenkins ~# scp root@master1.ocp.example.com:/etc/origin/master/ca.crt \
/etc/pki/ca-trust/source/anchors/ocp-ca.crt
jenkins ~# update-ca-trust extract
/etc/docker/certs.d
{}是占位符,應使用您的信息正確替換它)。 jenkins ~# cp /etc/pki/ca-trust/source/anchors/ocp-ca.crt \
/etc/docker/certs.d/${docker-registry-default}:${PORT}
jenkins ~# systemctl restart docker.service
希望對您有幫助。
按照https://jenkins.io/doc/book/pipeline/docker/上的說明使用withRegistry()方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.