graylog 的源码属于一个单体系统,构建比较符合maven 构建系统,包含了web 以及server backend 模块,一些一些其他依赖模块
web 构建使用了frontend-maven 插件,同时为了生产deb 以及rpm 也使用了相关的maven 插件,对于整体的打包使用了maven-assembly
├── bin // graylogctl 工具的
├── distribution // 基于assembly打包的构建
├── graylog-plugin-archetype
├── graylog-plugin-parent
├── graylog-project-parent
├── graylog-storage-elasticsearch6 // es6 插件
├── graylog-storage-elasticsearch7 // es 7 插件
├── graylog2-server // server 可以打包为shade,deb,rpm 以及其他格式的(基于assembly的tar.gz)
├── graylog2-web-interface // web ui
就是标准的maven 操作
mvn clean pacakge -DskipTests
软件包
以上是关于graylog 源码以及简单构建的说明,构建最好选择一个配置比较好点的机器,后续会详细介绍graylog 的源码以及设计
https://github.com/Graylog2/graylog2-server
https://github.com/eirslett/frontend-maven-plugin