我不知道该如何表达这个问题,所以我道歉,如果这个问题的标题没有意义给你。
由于各种历史原因,我有多个团队参与同一个代码库,它服务于多个服务端点。目前,所有团队的部署和发布都是一起完成的,这造成了大量的混乱。
我想达到这样的状态:团队A和B仍然可以共享相同的代码库,但他们可以使用不同的Kubernetes命名空间分别部署,例如:
- A组的代码都在
com/mycompany/team_a
下,B组的代码都在com/mycompany/team_b
下 - 在存储库中的某个地方有一个配置来执行Map:
com/mycompany/team_a/*
=〉config_team_a.yaml
,具有Kubernetes配置,名称空间可能为TeamA/ServiceA
com/mycompany/team_b/*
=〉名称空间为TeamB/ServiceB
的config_team_b.yaml
这样他们就可以单独构建映像,当然也可以单独部署。
1条答案
按热度按时间vh0rcniy1#
如果我说错了,请纠正我,但从对您的问题的描述来看,您实际上有两个问题:
如果你使用Helm,第二个问题可以很容易地解决,例如,它允许你模板化你的构建并传递不同的配置给它,第一个问题也可以部分地由helm解决,因为你也可以使用模板化来分离你的团队构建。
然而,几年前,我在开发.net monorepo时遇到了另一个问题:每次有PR合并到我们的git repo中,Jenkins就会为我们的每个服务触发一个构建,甚至是那些没有变化的服务。从问题的描述来看,我不清楚你是否配置了Jenkins管道,或者你是否也面临类似的问题,但是如果你是,你可以看看我是怎么解决这个问题的:repo.请随意看一看,希望能有所帮助。