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
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/275764.html