将JHipster 6.0.1推送到Gitlab代码库

4

在一切准备就绪之后,我意识到JHipster不再有Dockerfile,而是使用jib进行打包。生成的gitlab-ci.yml文件有一个docker-push阶段,其中包含如下命令:

./mvnw jib:build -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token  -Djib.to.auth.password=$CI_BUILD_TOKEN

但它在执行时出现错误。
[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]

由于失败了,我尝试本地运行该命令,如下所示:

./mvnw jib:build -Djib.to.image=registry.gitlab.com/amatos/test-project:v6.0.1 -Djib.to.auth.username=amatos -Djib.to.auth.password=password

但是它尝试连接的不是Gitlab的镜像库,而是尝试连接到registry.hub.docker.com

[INFO] Retrieving registry credentials for registry.hub.docker.com...

我想知道的是:如何将其设置为连接到GitLab而不是Docker Hub?
2个回答

3

为了连接到自定义仓库,我将-Djib.to.image更改为-Dimage,这样就可以了。


2
这是接下来的jhipster/generator-jhipster issue 9761,其中提到:

由于docker-push是在另一个阶段完成的,在前一个阶段中缺少了target/classes
这是jib所需的。应该像这样:

maven-package:
  stage: package
  script:
    - ./mvnw verify -Pprod -DskipTests -Dmaven.repo.local=$MAVEN_USER_HOME
  artifacts:
    paths:
      - target/*.jar
      - target/classes
    expire_in: 1 day

可能是由PR(合并)9762提交50cc009解决的,这些只存在于主分支中,尚未被任何标签引用。

2
实际上,问题是通过将-Djib.to.image更改为-Dimage来解决的,然后它连接到了GitLab的注册表。 - Alejandro
谢谢!我不理解的是,如果在本地机器上无法运行,那么这在GitLab的流水线中如何工作。另外,顺便说一下:尽管我设置了3GB,但该图像无法在“docker-compose”中运行,因为它会抱怨内存堆。 - Alejandro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接