是否可以使用 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-module
。
lib-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/