有可能用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
没有配置吊臂,因为不需要图像。
文档中有一个多模块skaffold的示例:
build:
artifacts:
- image: image1 # jib artifact
jib:
fromImage: image2
requires:
- image: image2
- image: image2 # base image artifact
但这是一个不同的场景,因为两个模块都会产生一个图像(通过jib(。
下面是我尝试过的一种滑板配置:
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:
时,Skafold将调用以下内容:
mvn --projects com.example:my-project-main-module --also-make jib:build
这将从上下文目录中执行。--also-make
使Maven根据需要重新构建任何依赖关系(如lib-module
(。
请确保您可以独立于Skafold运行上面的命令行。检查您的lib-module
是否作为<module>
包含在顶级pom.xml
中,以及您的main-module
是否具有<dependency>
到lib-module
。