我创建了一个Docker容器,其目的是运行实现REST API的Docker镜像。 REST API是使用Java创建的(使用Eclipse IDE,Maven和Spring Boot)。创建jar文件时,它(jar文件)标题为:workserver-0.0.1-SNAPSHOT.jar
代码被提交给Gitlab服务器。发生这种情况时,会创建一个Jenkins作业。 Jenkins工作从Gitlab存储库中下载代码,创建一个.jar文件然后执行操作以将.jar文件转换为Docker映像(或者更确切地说是Docker映像的.zip版本)。
" SCP"用于将zip文件移动到目标系统 - 其中 - 解压缩.zip文件(显示Docker镜像)并启动容器。问题是,正在使用的Docker镜像版本为"最新版本" (例如:imagename:latest)。
我想在这个场景中使用从Eclipse开始的版本(即,一个包含目标workserver-2.2.13.jar文件的pom.xml文件最终将导致Docker镜像名为imagename:2.3.13)< / p>
我在这里看到如何在Docker中分配版本号: Adding tags to docker image from jenkins 我也看到过可以在Git中使用标签和版本号: 例如:git tag -a v2.5 -m&#39;版本2.5&#39;如上所述,Maven pom.xml文件包含生成.jar文件的说明: workserver-0.0.1-SNAPSHOT.jar
系统工作正常。我可以在Eclipse中进行更改,几分钟后,新版本的Docker容器已经在交付系统上运行 - 可以随时使用。
我现在遇到的问题是设置版本号。
非常感谢这方面的任何指导。
TIA
答案 0 :(得分:0)
我建议使用{{3}}使用maven创建docker镜像。此插件允许您构建,运行和推送泊坞窗图像。
特别是,您可以将插件配置中的名称字段设置为:
<name>workserver:%l<name>
%l将被解析为maven项目版本,这与jar版本相同。您可以使用以下命令显式运行插件:
mvn io.fabric8:docker-maven-plugin:build
或者您可以将pom中的包装设置为:
<packaging>docker-build</packaging>
每当您停靠mvn package
并在mvn deploy