Can’;t推送到Gitlab注册表| Quarkus-Jib构建

Can’;t推送到Gitlab注册表| Quarkus-Jib构建,gitlab,containers,gitlab-ci,quarkus,jib,Gitlab,Containers,Gitlab Ci,Quarkus,Jib,我目前正在开发Quarkus应用程序,因此需要CI管道+容器注册表 由于通过docker的集装箱化不起作用(docker daemon-priviliged模式),我想使用Jib,Quarkus已经支持它 正在处理的命令: - mvn clean package -Dquarkus.container-image.push=true -Dquarkus.container-image.registry="https://$registry" -Dquarkus.cont

我目前正在开发Quarkus应用程序,因此需要CI管道+容器注册表

由于通过docker的集装箱化不起作用(docker daemon-priviliged模式),我想使用Jib,Quarkus已经支持它

正在处理的命令:

- mvn clean package 
-Dquarkus.container-image.push=true 
-Dquarkus.container-image.registry="https://$registry" 
-Dquarkus.container-image.username=$username 
-Dquarkus.container-image.password=$deployToken 
-Dquarkus.container-image.name=(group)/(project)
  • 用户名=部署令牌用户名
  • 密码=部署令牌
部署令牌拥有所有权限,因此这不应该是问题所在

我还尝试了在注册表url中添加令牌的命令的不同变体:

  • https://username:token@registry.gitlab.com(集团)/(项目)
  • https://name:token@registry.gitlab.com(集团)/(项目)
但在这些情况下,如果没有这些参数:

  • Dquarkus.container image.username=$username
  • Dquarkus.container image.password=$deployToken
但每次我都得到同样的回答:

Failed to execute goal io.quarkus:quarkus-maven-plugin:1.7.2.Final:build (default) on project (project): 
Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]     [error]: Build step io.quarkus.container.image.jib.deployment.JibProcessor#buildFromJar threw an exception: java.lang.IllegalArgumentException: 
The supplied container-image registry 'https://registry.gitlab.com/(group)/(project)' is invalid
我真的希望有人能想出一个主意,这里出了什么问题


在另一个项目中,我还使用Jib对spring启动应用程序进行容器化,并将其推送到Google容器注册中心,当我提前使用Google SDK时,该注册中心正在工作

- gcloud auth activate-service-account (account-name) --key-file=$gsdk_token
- gcloud auth configure-docker
Gitlab注册表可能有类似的方法吗?

该错误是由基于。“registry”字符串的形式应为

some.registry.host.example.com[:optional_port]
因此,在你的情况下,它应该是

-Dquarkus.container-image.registry=registry.gitlab.com
我还注意到Quarkus曾经对一个图像引用强制使用了一个函数(我不知道它现在已经被解析了);您需要咨询,以了解如何正确设置最终图像参考的格式

另请参阅其他Quarkus问题:


Jib用户的奖金:


Quarkus内部利用(为Jib Maven/Gradle构建插件提供动力的同一个库)构建容器映像非常好。但是对于那些感兴趣的人来说,Jib构建插件也有Jib Quarkus扩展(/),可以直接将Quarkus应用程序容器化。

如果问题类似,您可以在那里查看并发表评论吗?它现在看起来确实在工作。我完全忽略了-Dquarkus.container image.group=$group选项-Dquarkus.container image.registry=registry.gitlab.com是一条出路。谢谢你,伙计!