I try to convert github action to jenkins pipeline. This github action generate a native image via Jib.
This is the commande line
mvn package -Pnative -DskipTests -Dquarkus.native.container-build=true -Dquarkus.container-image.registry=10.3.2.92:5000 -Dquarkus.container-image.push=true -Dquarkus.container-image.image=${SERVICE_NAME}:${TAG_NAME} '-Dquarkus.jib.labels."org.opencontainers.image.revision"='${TAG_NAME}
But i do not understant why it failed on jenkins.
Error raised is :
[2023-11-21T14:22:46.451Z] [ERROR] [error]: Build step io.quarkus.container.image.deployment.ContainerImageProcessor#publishImageInfo threw an exception: java.lang.NullPointerException: Cannot invoke "String.contains(java.lang.CharSequence)" because "registry" is null
I parse google with no success ..
If someone could help me...
Thanks
quarkus.container-image.image
has to be full image reference, that's where your problem comes from.
As specified in documentation :
quarkus.container-image.image
Represents the entire image string. If set, then group, name, registry, tags, additionalTags are ignored
Remove ignored fields and fix your quarkus.container-image.image
, as it should be full url to your image, for example :
registry.gitlab.com/mygroup/myimage:myversion
So in your case, it should look like this
10.3.2.92:5000/${SERVICE_NAME}:${TAG_NAME}
As you provided quarkus.container-image.image
, additional quarkus.container-image.registry
is ignored. Simply remove quarkus.container-image.image
and it should work as is.
As documentation state :
The registry does not support HTTPS. We do not pass authentication details on non-HTTPS connections, though this can be overridden with the
sendCredentialsOverHttp
system property, but it is not recommend (version 0.9.9).
Simply add this param to your maven command :
-DsendCredentialsOverHttp=true