English | 中文 |
---|
DevLake 将你所有 DevOps 工具里的数据以实用、个性化、可扩展的视图呈现。通过 DevLake,从不断增加的工具列表中收集、分析和可视化数据。
DevLake 适用于希望更好地通过数据了解其开发过程的开发团队,以及希望以数据驱动提升自身实践的开发团队。有了 DevLake,你可以向你的开发过程提出任何问题,只要连接数据并查询。
用户名/密码: test/test。Demo里呈现的数据来自本仓库 merico-dev/lake。
这样
的命令需要在你的终端中运行注:安装完 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 的配置文件
- 在 Integrations 页面上找到你想要导入的数据源
- 了解如何配置每个数据源:
Jira
GitLab
Jenkins
GitHub- 提交表单,通过点击每个表单页面上的Save Connection按钮来更新数值。
devlake
需要一段时间才能完全启动。如果config-ui
提示 API 无法访问,请等待几秒钟并尝试刷新页面。
访问 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 的主菜单进入。
http://localhost:4000/pipelines
。localhost:4000/pipelines/create
。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.
数据收集完成后,点击配置页面左上角的 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 端口范围的限制,所以:
sudo apt-get install build-essential
进入你想安装本项目的路径,并克隆资源库
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
访问 config-ui localhost:4000
来配置 DevLake 数据源
- 在 “Integration”页面上找到到所需的插件页面
- 你需要为你打算使用的插件输入必要的信息
- 请参考以下内容,以了解如何配置每个插件的更多细节 -> Jira -> GitLab -> Jenkins -> GitHub
访问 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 的主菜单进入。
http://localhost:4000/pipelines
。http://localhost:4000/pipelines/create
。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.
数据收集完成后,点击配置页面左上角的 View Dashboards 按钮或者访问 localhost:3002
(用户名: admin
, 密码: admin
)
我们使用 Grafana 作为可视化工具,为存储在我们数据库中的数据建立图表。可以使用SQL查询,添加面板来构建、保存和编辑自定义仪表盘。
关于配置和定制仪表盘的所有细节可以在 Grafana 文档 中找到。
(可选)运行测试:
make test
本节列出了所有与共建 DevLake 相关的文档
此项目的许可证为 Apache License 2.0 - 查看 许可证 详情。