我正在尝试为我的Spring Boot微服务部署实现CI / CD管道。我计划使用Jenkins和Kubernetes制作CI / CD管道。我有一个用于版本控制的SVN代码存储库。
应用程序性质
我的应用程序的本质是,一个微服务需要为多个租户部署。实际上,代码是相同的,但不同租户的数据库配置是不同的。而且我正在使用Spring云配置服务器管理配置。
我的要求
我的要求是,当我将代码提交到SVN代码存储库中时,Jenkins需要提取我的代码,构建项目(Maven),并需要为多个租户创建Docker Image。并且需要部署。
在这里,要提交到一个代码存储库需要从同一代码存储库构建多个docker映像。表示一个代码存储库-多个Docker映像构建过程。实际上,Dockerfile为不同的Docker镜像包含不同的配置,即。对于不同的租户。所以在这里我的要求是我需要使用Jenkins从一个代码库中为Dockerfile中添加了不同配置的不同租户构建多个docker映像
我的分析
我目前正计划通过将多个Jenkins管道作业连接添加到同一代码存储库来实现此目的。在Jenkins管道作业中,我可以添加不同的配置。因为不同租户的映像名称需要保持不同,并且需要将映像推入Dockerhub。
我的困惑
我的困惑是,
答案 0 :(得分:2)
您似乎对此有误。
由于所有租户的代码都相同,而唯一的区别是配置,因此在部署到Kubernetes时,最好创建单个Docker映像并将其与租户特定的配置一起部署。
因此,您对存储库的更改将触发一个 Jenkins构建并生成一个 Docker映像。然后,您可以有多个Jenkins作业或管道中的多个步骤,这些步骤将具有租户特定配置的Docker映像部署到Kubernetes。
如果您不想在上面留意,这里是您问题的答案:
New item > pipeline
。