DevLake 将你所有 DevOps 工具里的数据以实用、个性化、可扩展的视图呈现。通过 DevLake,从不断增加的工具列表中收集、分析和可视化数据。
DevLake 适用于希望更好地通过数据了解其开发过程的开发团队,以及希望以数据驱动提升自身实践的开发团队。有了 DevLake,你可以向你的开发过程提出任何问题,只要连接数据并查询。
运行 DevLake |
用户使用流程
数据源 | 版本 |
---|---|
Feishu | Cloud |
GitHub | Cloud |
Gitlab | Cloud, Community Edition 13.x+ |
Jenkins | 2.263.x+ |
Jira | Cloud, Server 8.x+, Data Center 8.x+ |
TAPD | Cloud |
- 如果你只打算运行 DevLake,你只需要阅读这一小节
- 本节描述了 2 种安装方式,本地安装和Kubernetes安装
- 如果你想在云端安装 DevLake,你可以参考安装手册,点击 完成安装
- 写成
这样
的命令需要在你的终端中运行
注:安装完 Docker 后,你可能需要运行 Docker 应用程序并重新启动你的终端
IMPORTANT(新用户可以忽略): DevLake暂不支持向前兼容。当 DB Schema 发生变化时,直接更新已有实例可能出错,建议已经安装 DevLake 的用户在升级时,重新部署实例并导入数据。
-
在最新版本列表 下载
docker-compose.yml
和env.example
-
将
env.example
重命名为.env
。Mac/Linux 用户请在命令行里运行mv env.example .env
来完成修改 -
启动 Docker,然后运行
docker-compose up -d
启动服务 -
访问
localhost:4000
来设置 DevLake 的配置文件 -
访问
localhost:4000/pipelines/create
,创建 1个Pipeline run,并触发数据收集Pipeline Runs 可以通过新的 "Create Run"界面启动。只需启用你希望运行的数据源,并指定数据收集的范围,比如Gitlab的项目ID和GitHub的仓库名称。
一旦创建了有效的 Pipeline Run 配置,按Create Run来启动/运行该 Pipeline。 Pipeline Run 启动后,你会被自动转到Pipeline Activity界面,以监控采集活动。
Pipelines可从 config-ui 的主菜单进入。
- 管理所有Pipeline:
http://localhost:4000/pipelines
。 - 创建Pipeline Run:
localhost:4000/pipelines/create
。 - 查看Pipeline Activity:
http://localhost:4000/pipelines/activity/[RUN_ID]
。
对于复杂度较高的用例,请使用Raw JSON API进行任务配置。使用cURL或图形API工具(如Postman)手动启动运行。
POST
以下请求到DevLake API端点。[ [ { "Plugin": "github", "Options": { "repo": "lake", "owner": "merico-dev" } } ] ]
请参考这篇 wiki How to trigger data collection.
- 管理所有Pipeline:
-
数据收集完成后,点击配置页面左上角的 View Dashboards 按钮或者访问
localhost:3002
,访问 Grafana (用户名:admin
, 密码:admin
)我们使用 Grafana 作为可视化工具,为存储在我们数据库中的数据建立图表。可以使用SQL查询,添加面板来构建、保存和编辑自定义仪表盘。
关于配置和定制仪表盘的所有细节可以在 Grafana 文档 中找到。
为了定期同步数据,我们提供了lake-cli
以方便发送数据收集请求,我们同时提供了cron job以定期触发 cli 工具。
你也可以选择将 DevLake 部署到 Kubernetes 集群。这个操作只有一个前提条件,就是你有一套可以用的 Kubernetes 集群,并且确保本地 kubeconfig 配置正确。接着执行如下命令完成部署:
kubectl apply -f https://raw.githubusercontent.com/merico-dev/lake/main/k8s-deploy.yaml
接下来的设置与上一节 docker-compose 方式部署一致,需要注意的点是由于 Kubernetes 默认 NodePort 端口范围的限制,所以:
- DevLake 的 4000 端口需要通过 30004 访问
- Grafana 的 3000 端口需要通过 30002 访问
- Docker v19.03.10+
- Golang
- Make
- Mac (Already installed)
- Windows: Download
- Ubuntu:
sudo apt-get install build-essential libssl-dev
-
进入你想安装本项目的路径,并克隆资源库
git clone https://github.com/merico-dev/lake.git cd lake
-
安装插件依赖
-
安装 go packages
go get
-
将样本配置文件复制到新的本地文件
cp .env.example .env
-
在
.env
文件中找到以DB_URL
开头的那一行,把mysql:3306
替换为127.0.0.1:3306
-
启动 MySQL 和 Grafana
确保在此步骤之前 Docker 正在运行。
docker-compose up -d mysql grafana
-
在 2 个终端种分别以开发者模式运行 lake 和 config UI:
# run lake make dev # run config UI make configure-dev
Q: 在执行
make dev
时出现错误:libgit2.so.1.3: cannot open share object file: No such file or directory
A: 确保程序在运行时可以找到
libgit2.so.1.3
。如果机器中libgit2.so.1.3
在/usr/local/lib
下,您可以执行这样的命令:export LD_LIBRARY_PATH=/usr/local/lib
-
访问 config-ui
localhost:4000
来配置 DevLake 数据源 -
访问
localhost:4000/pipelines/create
,创建 1个Pipeline run,并触发数据收集Pipeline Runs 可以通过新的 "Create Run"界面启动。只需启用你希望运行的数据源,并指定数据收集的范围,比如Gitlab的项目ID和GitHub的仓库名称。
一旦创建了有效的 Pipeline Run 配置,按Create Run来启动/运行该 Pipeline。 Pipeline Run 启动后,你会被自动转到Pipeline Activity界面,以监控采集活动。
Pipelines可从 config-ui 的主菜单进入。
- 管理所有Pipeline:
http://localhost:4000/pipelines
。 - 创建Pipeline Run:
http://localhost:4000/pipelines/create
。 - 查看Pipeline Activity:
http://localhost:4000/pipelines/activity/[RUN_ID]
。
对于复杂度较高的用例,请使用Raw JSON API进行任务配置。使用cURL或图形API工具(如Postman)手动启动运行。
POST
以下请求到DevLake API端点。[ [ { "Plugin": "github", "Options": { "repo": "lake", "owner": "merico-dev" } } ] ]
请参考这篇 wiki How to trigger data collection.
- 管理所有Pipeline:
-
数据收集完成后,点击配置页面左上角的 View Dashboards 按钮或者访问
localhost:3002
(用户名:admin
, 密码:admin
)
我们使用 Grafana 作为可视化工具,为存储在我们数据库中的数据建立图表。可以使用SQL查询,添加面板来构建、保存和编辑自定义仪表盘。
关于配置和定制仪表盘的所有细节可以在 Grafana 文档 中找到。
-
(可选)运行测试:
make test
-
关于DB migration请参考Migration文档.
本节列出了所有与共建 DevLake 相关的文档
此项目的许可证为 Apache License 2.0 - 查看 许可证 详情。