我正在尝试通过存储库上的Jenkinsfile推送图像,但是当我这样做时,我将面临以下错误。
Error response from daemon: Get https://mydockerregistryurl/v1/users/: x509: certificate signed by unknown authority
我找到了很多与此有关的文章,但对这些都不了解。
任何人都可以尝试帮助我吗?
下面是我的詹金斯文件。
#!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'
}
}
}
}
}
答案 0 :(得分:1)
如果目标注册表docker-registry-default
在OpenShift
上运行,则应该部署OCP
CA
证书,该证书将从OCP
下载到您的Jenkins主机上。
有关更多详细信息,请参见Installing a certificate authority certificate for external registries。
例如,
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
希望对您有帮助。
答案 1 :(得分:0)