您现在的位置是:亿华云 > IT科技类资讯

DevOps 工具链之 Lighthouse

亿华云2025-10-03 20:20:05【IT科技类资讯】8人已围观

简介本文转载自微信公众号「问其」,作者陈少文。转载本文请联系问其公众号。本文介绍一个 ChatOps 工具 Lighthouse, 主要内容来自官方文档 。Kubernetes 社区使用 Prow 驱动其

本文转载自微信公众号「问其」,工具作者陈少文。工具转载本文请联系问其公众号。工具  

本文介绍一个 ChatOps 工具 Lighthouse,工具 主要内容来自官方文档 。Kubernetes 社区使用 Prow 驱动其在 GitHub 上的工具协作, 但是不适用于其他仓库。Lighthouse 普适于更多类型的工具 Git 仓库。

1. 什么是工具 Lighthouse

Lighthouse 是一个基于 webhooks 的轻量级 ChatOps 工具 , 通过 Git 仓库的 webhooks 可以触发 Jenkins X 流水线 、Tekton 流水线 、工具Jenkins 任务,工具 支持 GitHub、GitHub Enterprise、工具BitBucket Server 和 GitLab。工具

2. Lighthouse 与 Prow 的工具关系

Lighthouse 最初是亿华云由 Prow 衍生而来, 并拷贝了一些基础代码。目前,工具 Lighthouse 支持标准的 Prow 插件, 能够处理分支推送的 webhooks 用来触发指定的流水线执行。Lighthouse 和 Prow 一样,工具 使用 config.yaml 和 plugins.yaml 进行配置。

不同之处在于,工具 Lighthouse 使用的是 jenkins-x/go-scm , 可以支持更多类型的 Git 仓库, 而不限于 GitHub。Lighthouse 没有使用 ProwJob CRD , 而是使用自己的 LighthouseJob CRD。

3. 安装方式

Lighthouse 以 Helm Chart 包对外进行发布。

下面是安装命令:

添加仓库 helm repo add jenkins-x http://chartmuseum.jenkins-x.io helm repo update  安装或升级 # Helm v2 helm upgrade --install my-lighthouse --namespace lighthouse jenkins-x/lighthouse # Helm v3 helm upgrade --install my-lighthouse --namespace lighthouse jenkins-x/lighthouse  卸载 # Helm v2 helm delete --purge my-lighthouse # Helm v3 helm uninstall my-lighthouse --namespace lighthouse 

Lighthouse 还针对 Jenkins 和 Tekton 提供了专门的安装和配置文档。

4. 如何移植 Prow 插件

如果有你想要使用, 但是没有移植到 Lighthouse 的服务器托管插件, 可以按照下面的步骤移植:

Lighthouse 重用了 Prow 的插件代码和配置文件。因此, 主要的工作是将 k8s.io/test-infra/prow 的内容导入到 github.com/jenkins-x/lighthouse/pkg/prow, 然后修改 GitHub Client 的结构, 例如, 将 github.PullRequest 修改为 scm.PullRequest 。

GitHub Client 中的大部分结构都可以和 jenkins-x/go-scm 中的一一对应。但是, go-scm 默认返回指向资源指针的切片。API 部分也会有一些命名上的差异。比如, 在实现 lgtm 时, Prow 和 Lighthouse 的 githubClient API 就有差异。

原文: https://github.com/jenkins-x/lighthouse

云南idc服务商

很赞哦!(22187)