maven项目容器化运行之4-子模块利用Jenkins和maven使用docker插件调用远程docker构建服务

一.背景

     之前期望把开发和部署分开,在上篇文章maven项目容器化运行之3-优雅的利用Jenkins和maven使用docker插件调用远程docker构建服务并在1Panel中运行-CSDN博客已经实现了。主要思路是开发配置了pom文件,但是不管docker镜像打包。提交代码库后,Jenkins定时获取最新的代码,然后利用maven的dockerfile-maven-plugin插件,实现远程调用docker构建镜像。但是我们的项目一般都是父子工程,当我需要构建镜像的工程是子工程时,一直报错“No plugin found for prefix 'dockerfile' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories”。

二.具体修改

    1.问题发现

     之前的工程都是正确的,肯定插件这些都能下载。可能是Jenkins运行是在父工程目录运行引起的错误。我在本机开始测试,在父工程目录运行“mvn clean install dockerfile:build”确实会报错。于是我手动cd到子工程目录,再运行,就没有报错了。所以,我需要指定指运行我需要构建镜像的子工程。

     2.maven只运行某个子工程

      mvn clean install dockerfile:build -pl mine-starter

      就是在命令最后添加 -pl  [子工程名称]  就好了。

     3.Jenkins的设置

     本来我的主工程是要构建的,目的是把程序要最新的代码构建并deploy到maven局域网私库。所以,我又新建了一个Jenkins的构建任务mine-starter-image,构建命令就是设置的上面那个步骤的命令,没有设置定时构建。然后,我在主工程构建任务里面添加了,构建之后就触发新任务mine-starter-image。

      

三.总结

     母子工程时,要构建子工程镜像,估计是问题还是出在dockerfile文件是在子工程目录里面产生的。通过添加一个Jenkins任务,去只构建镜像子工程,设置在主工程构建任务之后触发,就实现我们的目标了。

  • 20
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值