DevOps 工具链之 Lighthouse

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

[[385633]]

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

本文介绍一个 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 包对外进行发布。

下面是安装命令:

  • 添加仓库
  1. helm repo add jenkins-x http://chartmuseum.jenkins-x.io 
  2.  
  3. helm repo update 
  • 安装或升级
  1. # Helm v2 
  2. helm upgrade --install my-lighthouse --namespace lighthouse jenkins-x/lighthouse 
  3.  
  4. # Helm v3 
  5. helm upgrade --install my-lighthouse --namespace lighthouse jenkins-x/lighthouse 
  • 卸载
  1. # Helm v2 
  2. helm delete --purge my-lighthouse 
  3.  
  4. # Helm v3 
  5. 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

 

责任编辑:武晓燕 来源: 问其
相关推荐

2021-01-29 15:50:45

DevOps运维

2020-08-21 07:00:00

DevOpsIT开发

2019-12-12 09:30:31

工具代码开发

2021-11-25 09:00:00

DevOps工具开发

2021-05-10 08:08:25

工具LightHouse性能优化

2020-09-24 10:50:10

运维架构技术

2021-04-14 08:20:46

Lighthouse工具性能检测

2024-02-29 08:23:50

Lighthouse分析工具开发者

2022-07-04 07:56:04

DevOpsDevStream工具链管理器

2020-09-28 09:12:22

DevOps

2022-11-02 15:11:44

LightHouseChrome插件

2011-06-30 10:59:43

2011-04-02 09:17:38

2022-05-02 18:21:46

JenkinsKubernetesDevOps

2022-05-03 10:55:24

DevOpsChefPuppet

2022-05-05 21:40:53

DatadogSplunkDevOps

2023-02-09 08:00:37

DevOps工具建木

2020-07-31 08:19:58

APM工具

2022-10-24 09:42:31

2021-08-10 09:48:43

DevOps运维软件
点赞
收藏

51CTO技术栈公众号