【问题标题】:Should I create a Jenkins job for each microservice?我应该为每个微服务创建一个 Jenkins 作业吗?
【发布时间】:2023-04-05 04:30:01
【问题描述】:

我有 4 个微服务,它们都构建在相同的技术堆栈(Java Dropwizard、MySQL)上,我正在尝试为它们创建 CI/CD 管道,但这里的问题是:

为每个微服务设置单独的 Jenkins 作业是个好主意吗?或者最好只为所有微服务提供一个参数化的作业?

我需要在 CI/CD 中运行的是:

  1. 干净的构建
  2. 单元测试
  3. 集成测试
  4. 负载测试
  5. 构建 docker 容器和镜像
  6. 发布
  7. 推送工件
  8. 部署

【问题讨论】:

    标签: jenkins continuous-integration continuous-deployment continuous-delivery


    【解决方案1】:

    为每个项目创建一个作业并使用MultiJob 插件将这些作业添加到构建管道是一个好方法。然后就可以触发父作业启动流水线了。

    【讨论】:

      【解决方案2】:

      我会使用声明式管道,您可以在其中在存储库的本地 Jenkinsfile 中定义逻辑。

      使用 Jenkins,您可以拥有一个“主”Jenkinsfile 和/或您可以通过调用上游项目来继承的项目。这将使您能够有效地分享您的说明并减少重复。

      最终,由于 Jenkins 的工作方式,您必须为每个存储库/用途创建一个单独的项目,或者(推荐)拥有一个“主”项目,让您传递项目名称、git repo 等信息url,具体的应用变量和值等等。

      【讨论】:

        猜你喜欢
        • 2017-09-15
        • 2021-10-18
        • 2020-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-12
        • 1970-01-01
        相关资源
        最近更新 更多