jenkins - CI/CD管道中的工作流程-Jenkins,Kubernetes和SVN/GitHub代码存储库

标签 jenkins kubernetes

我正在尝试使用Jenkins,Kubernetes和我的SVN存储库来实现CI / CD管道以部署Spring Boot微服务。在探索时,我发现在Jenkins + Kubernetes部署中,Docker镜像是从镜像注册表中提取的。当我探索示例实现时,我发现了Jenkins中用于自动图像构建的选项和用于定义代码存储库(例如GitHub / SVN)的选项。

关于 Jenkins (Jenkins)工作流程,我感到有些疑惑,并在此处添加,

1. 如果Docker镜像是从某些镜像注册表中提取的,以使用Jenkins和Kubernetes进行部署,那么为什么还要在Jenkins中再次定义代码存储库源链接(GitHub / SVN)?

怀疑的原因-我在想的是,Kubernetes和Jenkins仅依赖于镜像注册表来通过镜像拉取进行部署。所以我对此感到怀疑,为什么我们要在Jenkins中定义GitHub存储库链接。这只是这种怀疑的原因。如果我想的方向错误,请纠正我。

2. 在探索时,我发现Jenkins中使用某些脚本自动生成了Docker镜像,这是我不知道的确切工作方式,我在您的视频录像中找到了该选项。因此,如果我们要从镜像注册表中提取镜像,那为什么还要在Jenkins中再次使用自动化Docker镜像构建呢?如果这是一个替代选择,那么在Jenkins中图像提取和自动图像构建之间有什么区别?这些都是根据我们的要求吗?还是在这背后还有其他概念?

最佳答案

很抱歉,但我没有完全理解您的问题。我尝试解释我们的CI / CD工作流程。也许这会有所帮助。

  • 开发人员将代码提交到GIT。
  • Jenkins自动
  • checkout 仓库
  • 构建spring boot微服务(测试,代码覆盖率等)
  • 构建docker镜像
  • 将docker镜像提交到注册表

  • 使用不同的开关/构建参数,开发人员可以决定构建SNAPSHOT构建,仅将其部署到特定的快照注册表(仅供开发人员使用),或者构建实际发行版。

    开发人员还可以决定稍后将Docker镜像部署到int或prod系统。在这种情况下,Kubernetes从注册表(Jenkins先前部署在该注册表)中提取镜像。

    关于jenkins - CI/CD管道中的工作流程-Jenkins,Kubernetes和SVN/GitHub代码存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50095358/

    相关文章:

    jenkins - 使用 Jenkins 创建 Inno Setup 安装程序,无需在代理上预安装

    groovy - 来自 email-ext jelly/groovy 脚本的实例变量来自哪里?

    java - Jenkins 执行 Maven 时使用了错误的 Java 版本

    spring-boot - GKE : How to handle deployments with CPU intensive initialization?

    docker - 具有多个 LoadBalancer 服务的 Kubernetes (docker-desktop)

    kubernetes - 使用 Terraform 和 Helm 在 EKS 集群上安装 Istio

    Jenkins 条件步骤 token 逻辑运算符

    jenkins - Jenkins Ansible插件中的Ansible,忽略SSH配置

    docker - 访问 Kubernetes 中 pod 的其他容器

    kubernetes - 如何停止 kubectl 代理