【问题标题】:Does Jenkins (not Jenkins X) have gitops support?Jenkins(不是 Jenkins X)有 gitops 支持吗?
【发布时间】:2020-04-20 06:39:01
【问题描述】:

我正在尝试为我的公司设置 Kubernetes。我已经对 Jenkins X 进行了大量研究,虽然我真的很喜欢路线图,但我意识到它可能还不够成熟,我的公司目前无法使用它。 (UI in previewflaky command linerandom IP address needs 和较差的 Windows 支持是导致我得出这个结论的一些问题。)

但我了解正常的 Jenkins 是非常成熟的,可以在 Kubernetes 上运行。我也知道它可以在集群中运行动态创建的构建代理。

但我不确定 gitops 是否支持。当我尝试用谷歌搜索 (gitops jenkins) 时,我得到了一堆信息,其中包括 Jenkins X。

普通 Jenkins 使用 GitOps 是否有一种简单(ish)的方法?如果有,怎么做?

更新:
我所说的 GitOps 是指类似于 Jenkins X 支持的东西。 (意味着对存储在 Git 存储库中的集群进行更改。合并会导致部署。)

【问题讨论】:

  • GitOps 是一个流行词,对不同的人有不同的含义。 Jenkins 旨在从 Git 更改和签出代码中触发。 GitOps 的一些狭义只有 Flux 支持。

标签: jenkins kubernetes continuous-integration


【解决方案1】:

我的意思类似于 Jenkins X 支持的东西。 (意味着对存储在 Git 存储库中的集群进行更改。合并会导致部署。)

是的,这就是 Jenkins(或其他 CICD 工具)所做的。您可以在 Jenkinsfile 中声明一个部署管道,该管道在合并时触发(提交到 master),并对其他分支执行其他步骤(如果需要)。

我建议使用kubectl using kustomize 进行部署,并将配置文件存储在您的 Git 存储库中。您参数化不同的环境,例如使用overlays 进行分期和生产。你可以例如部署时仅使用 2 个副本,但在生产中使用 6 个副本和更多内存资源。

为此使用 Jenkins,我将创建一个带有 kubectldocker agent image,以便您的步骤可以使用 kubectl 命令行工具。

Kubernetes 上的 Jenkins

但我了解正常的 Jenkins 是非常成熟的,可以在 Kubernetes 上运行。我也知道它可以在集群中运行动态创建的构建代理。

我在这方面没有最好的经验。它可能会奏效——或者可能效果不佳。我目前在 Kubernetes 集群之外托管 Jenkins。我认为Jenkins XTekton 可能是即将到来的有前途的解决方案,但我还没有尝试过这种设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 2023-01-20
    • 2021-12-10
    • 2019-10-24
    • 1970-01-01
    • 2016-09-21
    相关资源
    最近更新 更多