maven - 使用 Skaffold 和 Jib 构建多模块 Maven 项目

标签 maven skaffold jib

是否可以使用 skaffold 和 jib builder 构建多模块 Maven 项目?

我的项目结构:

my-project-parent-module
- my-project-main-module
- my-project-lib-module

my-project-main-module 包含 Main 类,并配置了 jib 插件,并且依赖于 my-project-lib-modulelib-module 没有配置 jib,因为不需要图像。

文档有 an example多模块支架的:

build:
  artifacts:
  - image: image1 # jib artifact
    jib:
      fromImage: image2
    requires:
    - image: image2
  - image: image2 # base image artifact

但这是一个不同的场景,因为两个模块都会生成图像(通过 jib)。

以下是我尝试过的 skaffold 配置之一:

apiVersion: skaffold/v2beta29
kind: Config
metadata:
  name: my-project
build:
  local:
    push: false
  artifacts:
    - image: my-image-name
      context: ./
      jib:
        project: com.example:my-project-main-module
  ...

最佳答案

当您指定project:时,Skaffold 将调用类似以下内容的内容:

mvn --projects com.example:my-project-main-module --also-make jib:build

这将从上下文目录中执行。 --also-make使 Maven 根据需要重建任何依赖项(例如 lib-module )。

确保您可以与 Skaffold 分开运行上述命令行。检查您的lib-module包含为 <module>在您的顶层 pom.xml ,你的 main-module有一个<dependency>给您lib-module .

关于maven - 使用 Skaffold 和 Jib 构建多模块 Maven 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73461270/

相关文章:

java - 如何在gitlab-ci build中跳过先前的Maven目标?

ruby-on-rails - 在 Minikube 中调试 rails 应用程序

kubernetes - GCP 证书以及用于本地开发的脚手架

java - 记录需要 ASM8

gradle - 如何在 buildSrc kotlin 文件中配置 Jib 扩展?

java - 离线使用 jib maven 插件构建 docker 容器的问题

maven - 在 ubuntu 上使用 Kurento 安装错误

java - 如何在没有 IDE 的情况下编译和运行 Intellij IDEA java 项目?

java - 我能否以某种方式运行多个与一个 SpringBootApplication 共享同一库模块的 Web 模块?

docker - Skaffold 开发失败