使用maven docker插件在maven release

时间:2015-10-27 09:54:14

标签: java maven jenkins docker maven-release-plugin

我正在使用docker实现基于java的微服务。虽然我和Java和Maven都很熟悉,但我并不是那么擅长停泊。

该服务将有工作来获取文件,解析它的内容并将其写入mongodb。之后,在下次导入之前不需要该服务。

解决方案应该是每次调用仅使用一个文件,并在执行maven版本时进行版本控制。

用法应该是这样的:

import.sh file-to-be-imported.xyz

Docker最终只需要运行时,而不是开发。因此,在我看来,调用docker run params之类的执行脚本就足够了。

在maven发布时,我想做以下事情"特价"测试运行后:

  1. 在目标中生成fat-jar
  2. 生成更新的导入脚本,其中包含目标中的jar(.jar)名称(在发布时更新),因此导入脚本
  3. 将版本更新为新快照版本(默认使用maven发布插件)
  4. 将容器更新为新版本(我想必须以某种方式使用docker commit)
  5. 提交更新的容器
  6. 将更新的容器存储到图像中(以某种方式完成了docker save,我认为)
  7. 我希望使用它包含的jar对容器进行版本化,因为对实现的更改可能会对运行时环境或用法进行更改。

    哪个maven插件适合该用例?如何使用给定的插件更改用于该用例的pom。

    如何从脚本文件加载(以前导出的)最新版本化容器?

    Docker Hub不是我们的选择。我们使用jenkins捆绑出目标文件夹的最新脚本来解决图像部署问题。

    如前所述,将文件名传递给jar的main方法非常简单,该方法将处理其他所有内容,直到导入完成为止。没有涉及或需要的应用服务器。

0 个答案:

没有答案