#docker #jenkins-pipeline #jenkins-plugins #docker-in-docker #jenkins-kubernetes
#docker #дженкинс-конвейер #дженкинс-плагины #docker-in-docker #jenkins-kubernetes
Вопрос:
У меня есть частный реестр, с которым я использую свои собственные SSL-сертификаты. Чего я не могу сделать, так это заставить агента (шаблон модуля Kubernetes pod) войти (или нажать) в реестр, я потратил много часов, пытаясь выяснить, как все это склеивается.
pipeline {
agent {
kubernetes {
label "saas-fwk-deploy-${cto.devops.jenkins.Utils.getTimestamp()}"
inheritFrom 'k8s-dind'
yaml """
spec:
containers:
- name: opstools
image: registry/tools:latest
workingDir: /home/jenkins
command:
- cat
tty: true
env:
- name: DOCKER_HOST
value: "tcp://127.0.0.1:2375"
securityContext:
allowPrivilegeEscalation: true
privileged: true
"""
}
}
options {
timeout(time: 12, unit: 'HOURS')
buildDiscarder(logRotator(daysToKeepStr: '7', artifactDaysToKeepStr: '0'))
skipDefaultCheckout()
disableConcurrentBuilds()
timestamps()
}
stages {
stage('deploy') {
steps {
container('opstools') {
sh "docker --version"
sh """
pwd
ls -al
mkdir -p ~/.docker/certs.d/harbor.net
curl -k -b cookie -o ~/.docker/certs.d/harbor.net/ca.crt https://saas2.cert.com/api/v1/pub/ingressca
cat ~/.docker/certs.d/harbor.net/ca.crt
docker info
docker login -u superadmin -p example harbor.net
"""
}
}
}
}
и я получил эту ошибку :
docker login -u superadmin -p example harbor.net
21:01:55 WARNING! Using --password via the CLI is insecure. Use --password-stdin.
21:01:55 Error response from daemon: Get https://harbor.net/v2/: x509: certificate signed by unknown authority
сертификат не учитывается, и даже когда я меняю его место на /etc/docker/certs.d/*
По сути, я знаю, что docker должен иметь мой сертификат CA, но я не могу понять, как я передаю его агенту (или контейнеру docker dind, который использует агент). (Я могу войти в свой реестр и, как правило, извлекать / отправлять изображения, поэтому я знаю, что мои SSL-сертификаты в порядке).
Где / как мне предоставить docker мой сертификат ca?
Комментарии:
1. У меня такая же проблема. Вы смогли это выяснить?