我正在尝试为我的Spring引导微服务部署实现CI/CD管道。我计划用詹金斯和库伯奈特制作CI/CD管道。我有一个用于版本控制的SVN代码库。
应用的性质
我的应用程序的本质是,需要为多个租户部署一个微服务。实际上,代码是相同的,但不同租户的数据库配置不同。我正在使用SpringCloud配置服务器管理配置。
我的要求
我的要求是,当我将代码提交到SVN代码存储库时,Jenkins需要提取我的代码,构建项目(Maven),并需要为多个租户创建Docker映像。需要部署。
这里的问题是,提交到一个代码存储库需要从同一个代码报告构建多个Docker映像。表示一个代码报告-多个Docker图像构建过程。实际上,dockerfile包含不同docker映像的不同配置,即针对不同租户。因此,这里我的要求是,我需要使用Jenkins从一个代码repo中为具有不同配置的不同租户构建多个Docker映像。
我的分析
我目前正计划通过将多个Jenkins管道作业connect添加到同一代码repo来实现这一点。在Jenkins管道作业中,我可以添加不同的配置。因为不同租户的镜像名称需要保持不同,需要将镜像推入DockerHub。
我的困惑
我的困惑是,
-
我可以使用Jenkins从同一代码库添加多个管道作业吗?
-
如果我可以从同一个代码repo添加多个管道作业,那么如何将每个租户的映像部署到kubernetes?是否需要为部署添加作业?还是一个作业就足够部署?