使用Tekton和ArgoCD实现Kubernetes CI/CD - Piotr


在本文中,您将学习如何使用 Tekton 和 ArgoCD 在 Kubernetes 上配置 CI/CD 流程。
由于 Tekton 是一种云原生 CI/CD 工具,您只能使用它在 Kubernetes 上构建管道。但是,构建 CD 流程的现代方法应该遵循 GitOps 模式。这意味着我们将应用程序的配置存储在 Git 中——与源代码相同。CD 进程应该对此配置中的更改做出反应,然后将它们应用到 Kubernetes 集群。Argo CD 来了。
在本文的下一部分中,我们将为 Java 应用程序构建一个示例 CI/CD 流程。该流程的某些步骤将由 Tekton 管理,而其他一些步骤将由 ArgoCD 管理。让我们来看看下面的图表。在第一步中,我们将使用应用程序源代码克隆 Git 存储库。然后我们将运行 JUnit 测试。之后,我们将使用 SonarQube 触发源代码分析。最后,我们将构建应用程序映像。所有这些步骤都是持续集成过程的一部分。Argo CD 负责部署阶段。此外,如果配置发生任何更改,会将 Kubernetes 上的应用程序状态与 Git 存储库同步。

 
如果您想自己尝试一下,您可以随时查看我的源代码。为此,您需要克隆我的 GitHub 存储库。这次有第二个存储库——专用于独立于应用程序源代码存储配置。您可以克隆以下存储库并转到cicd/apps/sample-spring-kotlin目录。
 
先决条件
在开始之前,我们需要在 Kubernetes 上安装 Tekton 和 ArgoCD。我们可以通过几种不同的方式做到这一点。最简单的方法是使用 OpenShift operators。他们的名字可能有点混乱。但实际上,红帽 OpenShift Pipeline 安装的是 Tekton,而红帽 OpenShift GitOps 安装的是 ArgoCD。

详细点击标题