我制作了一个JHipster应用程序,我想添加带有私有Gitlab运行程序的CI / CD,以部署在私有Docker注册表上。我失败了:
[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:2.0.0:build (default-cli) on project powerfront: Invalid image reference :master-35274d52bd71e28f08a0428832001cc67e9c446d, perhaps you should check that the reference is formatted correctly according to https://docs.docker.com/engine/reference/commandline/tag/#extended-description
[ERROR] For example, slash-separated name components cannot have uppercase letters: Invalid image reference: :master-35274d52bd71e28f08a0428832001cc67e9c446d
这是我的.gitlab-ci.yml的相关部分
# Uncomment the following line to use gitlabs container registry. You need to adapt the REGISTRY_URL in case you are not using gitlab.com
docker-push:
stage: release
variables:
REGISTRY_URL: 10.1.10.58
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHA
dependencies:
- maven-package
script:
- ./mvnw -ntp compile jib:build -Pprod -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token -Djib.to.auth.password=$CI_BUILD_TOKEN -Dmaven.repo.local=$MAVEN_USER_HOME
编辑:有一个未配置的变量。现在我得到了
[ERROR] I/O error for image [10.1.10.58:5000/powerfront]:
[ERROR] javax.net.ssl.SSLException
[ERROR] Unrecognized SSL message, plaintext connection?
我如何告诉跑步者接受不安全的(纯文本)连接?
答案 0 :(得分:2)
要发布到私有(或其他公共)注册表,您的映像名称必须以注册表的主机名开头:private.registry.io/group/image:version
,以便Docker守护程序知道它不会推送到Docker Hub(默认值),但改为private.registry.io
U也可以使用Kaniko
发布图像,因为它不需要Docker守护程序上的垃圾模式或特权模式。
答案 1 :(得分:0)
我不确定这是Gitlab CI问题。但使用JHipster。
CI_REGISTRY_IMAGE
的值是什么?我们在错误消息中看不到该值。