Jenkins管道-Maven安装依赖项项目

时间:2019-05-16 15:58:12

标签: maven docker jenkins-pipeline docker-repository

我正在设置包含以下组件的CI / CD: -Bitbucket 詹金斯 -码头工人 -Maven

所需的流量:

  1. 将代码提交给Bitbucket
  2. 有关更改的Webhook Jenkins
  3. Jenkins管道执行以下操作:
    • mvn安装2个项目,SDK + API
    • 使用API​​ jar并构建映像
    • 将图像推送到存储库
    • 将服务或容器部署到docker

我目前陷入困境的地方如下:

我有一个PROJECT-A,其中有多个依赖项目,必须先安装maven,然后再maven安装PROJECT-A并为其创建映像。

有人可以建议什么是最佳实践吗?

我在Google上搜索过,说我唯一可行且可维护的选项应该是使用Parent POM。但是我不明白该怎么做。

<modules>
    <module>project1</module>
    <module>project2</module>
    <module>project3</module>
  </modules>

1 个答案:

答案 0 :(得分:0)

即使您的项目与父pom的结构不同,这些其他项目又将来自何处?一般而言,mvn install的功能与您在这个问题中的意思有所不同-

  

install:将软件包安装到本地存储库中,以作为本地其他项目中的依赖项

这里的最佳实践(以及缺少的元素)是一个软件包存储库。例如您的私人人工制品或联系。您将mvn install打包到它的所有软件包,并且maven将基于其POM和适当的配置自动解决它的依赖性。