DevOps 工具链之 Lighthouse 介绍

本文介绍一个 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
2
3
helm repo add jenkins-x http://chartmuseum.jenkins-x.io

helm repo update
  • 安装或升级
1
2
3
4
5
# Helm v2
helm upgrade --install my-lighthouse --namespace lighthouse jenkins-x/lighthouse

1. Helm v3
helm upgrade --install my-lighthouse --namespace lighthouse jenkins-x/lighthouse
  • 卸载
1
2
3
4
5
# Helm v2
helm delete --purge my-lighthouse

1. Helm v3
helm uninstall my-lighthouse --namespace lighthouse