使用此设置,一切正常,直到我启用htpasswd
。
据我所知,一切均已正确配置,因此,如果确实如此;那是一个bug吗?我在管道控制台输出中注意到,它指向我实际使用过withDockerRegistry
的{{1}}。
要清楚,此设置是jenkins可以推送到的不安全的私人注册表。没有,也曾经没有SSL设置。唯一的区别是启用了withRegistry
注册表配置
htpasswd
映像运行ubuntu/bionic64
网络中的registry:2
映像在容器中运行nginx-proxy
访问注册表,我的http://registry.exp
文件的host
指向我的registry.exp
,位于VM IP
10.20.1.29
通过htpasswd
配置了注册表Jenkins配置
docker run --entrypoint htpasswd registry:2 -Bbn {{htpasswd_user}} {{htpasswd_pw}} >> /registry/auth/htpasswd
映像在Mac上的docker中运行jenkins。cloudbees/cloudbees-jenkins-distribution
localhost:8080
的Jenkins凭据中,并以http://registry.exp
的ID进行保存应用配置
registry-login
example-app
有一个example-app
和一个Dockerfile
Jenkinsfile
docker build -t example-app --no-cache .
docker login --username docker registry.exp
docker push registry.exp/example-app
从詹金斯奔跑
在拉下github存储库并构建docker映像后,用jenkins的 pipeline {
agent any
stages {
stage('Deploy Image') {
steps{
script {
docker.withRegistry('http://registry.exp', 'registry-login'){
docker.build('example-app').push('latest')
}
}
}
}
}
}
。
Console Output