在Google Cloud Docker构建中使用Maven工件

时间:2018-03-17 08:33:14

标签: maven docker google-cloud-platform

我有一个带有以下步骤的Google云容器构建

  1. gcr.io/cloud-builders/mvn运行mvn clean package cmd
  2. gcr.io/cloud-builders/docker创建一个泊坞窗图片
  3. 我的泊坞窗图片包含并将运行tomcat。

    这两个步骤都可以独立完成。

    如何将步骤1中构建的工件复制到docker容器的正确文件夹中?我需要将第1步中构建的战争或特定的lib文件移动到我的docker容器中的tomcat目录。

    在Dockerfile中回显/ workspace和/ root目录并不显示工件。我想我误解了这种关系。

    谢谢!

    编辑:

    我最终更改了Dockerfile以设置WORKDIR to /workspace

    COPY /{files built by maven} {target}

1 个答案:

答案 0 :(得分:0)

工作目录是安装在构建器容器中的永久卷,默认情况下位于/workdir下。您可以在https://cloud.google.com/container-builder/docs/build-config#dir

的文档中找到更多详细信息

我不确定你的情况会发生什么。但是在gcr.io/cloud-builders/mvn构建器的文档中有一个Maven步骤和Docker构建步骤的示例。 https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/mvn/examples/spring_boot。我建议你与你的文件进行比较。

如果没有帮助,您可以分享Dockerfilecloudbuild.yaml吗?请确保删除所有敏感信息。

此外,您可以通过在本地运行构建https://cloud.google.com/container-builder/docs/build-debug-locally#preserve_intermediary_artifacts

来检查工作目录