我有4个微服务,所有这些都是在同一个技术堆栈(Java Dropwizard,MySQL)上构建的,我试图为它们创建一个CI / CD管道,但问题是:
为每个微服务都有一个单独的Jenkins工作是一个好主意吗?或者最好只有一个为所有微服务参数化的作业?
我需要在CI / CD中运行的是:
答案 0 :(得分:0)
为每个项目创建一个作业,并使用MultiJob插件将这些作业添加到构建管道中是一种好方法。然后,您可以触发父作业以启动管道。
答案 1 :(得分:0)
我将使用声明性管道,您可以在其中在存储库中的本地Jenkinsfile中定义逻辑。
使用Jenkins,您可以拥有一个“主” Jenkins文件和/或可以通过调用上游项目来继承的项目。这将使您有效地共享您的指令并减少重复。
由于Jenkins的工作原理,最终您必须为每个存储库/目的创建一个单独的项目,或者(建议)使用一个“主”项目,让您传递项目名称,git repo之类的信息网址,特定的应用程序变量和值等等。