Helm 存储库在使用 Jenkins 和 Kubernetes 的 CI/CD 管道中的作用

Role of Helm repository in CI/CD pipeline using Jenkins and Kubernetes

我正在尝试使用 Jenkins 和 Kubernetes 为我的 Spring 启动微服务部署学习 CI/CD 管道的实现。

我遵循以下 links 作为参考,

  1. https://dzone.com/articles/easily-automate-your-cicd-pipeline-with-jenkins-he
  2. https://medium.com/jfrogplatform/easily-automate-your-ci-cd-pipeline-with-jenkins-helm-and-kubernetes-c96283c25701

在这里我找到了使用 Kubernetes Helm chart 来简化应用程序部署的方法。在上面 link 它表明,要使用一个 Helm 存储库和 Docker 注册表(我打算使用 Dockerhub.com)。

迷茫

我的困惑是,如果我们在 Kubernetes 中使用 Helm 图表,那么为什么要为我的 CI/CD 管道使用 Helm 存储库?

您可以使用 Helm 创建可用于部署数百个微服务的通用图表。这允许通过使用图表来定义所有必需的对象(部署、服务、HPA、入口、配置映射等)并允许简单的定制来简化 Kubernetes 部署的复杂性。您可以在 blog post 中了解更多这对我们的作用(完全披露:我写了这个 post)。

无论如何,这听起来不像您的用例 - 如果您有少量 API 使用 Helm 会产生一些开销,并且对于少量 API 来说不值得。

您将需要使用 Helm 存储库来存储您的 Helm 图表。

您可以在 The Chart Repository Guide 文档中找到更多详细信息。

您可以使用未打包的 helm 图表,有效地从源代码部署它们。您不必 必须将它们打包并托管在存储库中。如果您有多个 apps/teams 使用图表并可能使用它们构建自己的图表,您可能会想要打包图表并将它们托管在存储库中 and/or 您希望能够拥有不同版本的图表图表 运行 在不同的地方。