snowdrop-zen / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
1 stars 0 forks source link

Support GitLab CI_REGISTRY_IMAGE variable for container build. #173

Closed snowdrop-bot closed 3 years ago

snowdrop-bot commented 4 years ago

Description

In GitLab, projects have concrete image names that matches projects. The image name is provided to build script in environment variable CI_REGISTRY_IMAGE. However, variable also contains repository name so it does not work with container-image (I tested with JIB):

CI_REGISTRY_IMAGE=gitlab.company.hr:1111/group/subgroup/project

If this is used as image or registry, Quarkus throws exception.

Please add support for full image path in container-image configuration.

Exception:

 [ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.4.0.CR1:build (default) on project asc-api-service: 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 'gitlab.company.hr:1111/group/subgroup/project' is invalid
 [ERROR]    at io.quarkus.container.image.jib.deployment.JibProcessor.getImageReference(JibProcessor.java:190)
 [ERROR]    at io.quarkus.container.image.jib.deployment.JibProcessor.createContainerizer(JibProcessor.java:138)
 [ERROR]    at io.quarkus.container.image.jib.deployment.JibProcessor.containerize(JibProcessor.java:121)
 [ERROR]    at io.quarkus.container.image.jib.deployment.JibProcessor.buildFromJar(JibProcessor.java:79)
 [ERROR]    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 [ERROR]    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 [ERROR]    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 [ERROR]    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
 [ERROR]    at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:931)
 [ERROR]    at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
 [ERROR]    at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
 [ERROR]    at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2027)
 [ERROR]    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1551)
 [ERROR]    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1442)
 [ERROR]    at java.base/java.lang.Thread.run(Thread.java:834)
 [ERROR]    at org.jboss.threads.JBossThread.run(JBossThread.java:479)

Implementation ideas


https://github.com/quarkusio/quarkus/issues/8588


$upstream:8588$