Después de tener todo listo para implementar, me di cuenta de que JHipster ya no tiene un Dockerfile y el empaquetado se realiza con jib . El gitlab-ci.yml generado tiene una etapa docker-push con un comando como este:
./mvnw jib:build -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token -Djib.to.auth.password=$CI_BUILD_TOKENpero falla con
[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:0.9.11:build (default-cli) on project test-project: Obtaining project build output files failed; make sure you have compiled your project before trying to build the image. (Did you accidentally run "mvn clean jib:build" instead of "mvn clean compile jib:build"?): /builds/amatos/test-project/target/classes -> [Help 1]Como eso falló, traté de ejecutar el comando localmente de esta manera:
./mvnw jib:build -Djib.to.image=registry.gitlab.com/amatos/test-project:v6.0.1 -Djib.to.auth.username=amatos -Djib.to.auth.password=passwordpero en lugar de intentar conectarse al registro de Gitlab, intenta conectarse a registration.hub.docker.com :
[INFO] Retrieving registry credentials for registry.hub.docker.com...Lo que me gustaría saber es: ¿cómo lo configuro para que se conecte a Gitlab en lugar de a Docker Hub?
Para conectarme a un repositorio personalizado, cambié -Djib.to.image a -Dimage y funcionó
A esto le sigue el número 9761 de jhipster/generator-jhipster que dice:
como el
docker-pushse realiza en otra etapa, falta untarget/classesen la etapa anterior.
Se necesita porjib. Debería verse como:
maven-package: stage: package script: - ./mvnw verify -Pprod -DskipTests -Dmaven.repo.local=$MAVEN_USER_HOME artifacts: paths: - target/*.jar - target/classes expire_in: 1 dayPosiblemente abordado por PR (fusionado) 9762 , compromiso 50cc009 , que solo está en maestro, aún no referenciado por ninguna etiqueta.