贡献指南
非常欢迎参与项目贡献,我们致力于维护一个互相帮助的快乐社区。
贡献方式
在 Apache HertzBeat™ 社区,贡献方式有很多:
-
💻代码:可以帮助社区完成一些任务、编写新的 feature 或者是修复一些 bug;
-
⚠️测试:可以来参与测试代码的编写,包括了单元测试、集成测试、e2e 测试;
-
📖文档:可以编写或完善文档,来帮助用户更好地了解和使用 HertzBeat;
-
📝博客:可以撰写 HertzBeat 的相关文章,来帮助社区更好地推广;
-
🤔讨论:可以参与 HertzBeat 新的 feature 的讨论,将您的想法跟 HertzBeat 融合;
-
💡布道:可以帮助宣传或推广 HertzBeat 社区,在 meetup 或 summit 中演讲;
-
💬建议:也可以对项目或者社区提出一些建议,促进社区的良性发展;
更多贡献方式参见 Contribution Types
即便是小到错别字的修正我们也都非常欢迎 :)
让 HertzBeat 运行起来
让 HertzBeat 的代码在您的开发工具上运行起来,并且能够断点调试。 此为前后端分离项目,本地代码启动需将后端 manager 和前端 web-app 分别启动生效。
后端启动
-
需要
maven3+,java17和lombok环境 -
(可选)修改配置文件配置信息-
hertzbeat-startup/src/main/resources/application.yml -
在项目根目录运行编译:
mvn clean install -DskipTests -
在
jvm加入参数--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED -
启动
springboot startup服务hertzbeat-startup/src/main/java/org/apache/hertzbeat/startup/HertzBeatApplication.java
前端启动
-
需要
nodejs pnpm环境, 确保Node.js >= 18 -
进入
web-app目录:cd web-app -
安装 pnpm:
npm install -g pnpm -
在前端工程目录
web-app下执行:pnpm installorpnpm install --registry=https://registry.npmmirror.cominweb-app -
待本地后端启动后,在 web-app 目录下启动本地前端
pnpm start -
浏览器访问 localhost:4200 即可开始,默认账号密码 admin/hertzbeat
寻找任务
寻找您感兴趣的 Issue!在我们的 GitHub 仓库和邮件列表中,我们经常会发布一些带有 good first issue 或者 status: volunteer wanted 标签的 issue,这些issue都欢迎贡献者的帮助。 其中 good first issue 往往门槛较低、适合新手。
当然,如果您有好的想法,也可以直接在 GitHub Discussion 中提出或者联系社区。
提交 Pull Request
-
首先您需要 Fork 目标仓库 hertzbeat repository.
-
然后 用 git 命令 将代码下载到本地:
git clone git@github.com:`YOUR_USERNAME`/hertzbeat.git #Recommended -
下载完成后,请参考目标仓库的入门指南或者 README 文件对项目进行初始化。
-
接着,您可以参考如下命令进行代码的提交, 切换新的分支, 进行开发:
git checkout -b a-feature-branch #Recommended -
提交 commit, commit 描述信息需要符合约定格式: [module name or type name]feature or bugfix or doc: custom message.
git add <modified file/path>
git commit -m '[docs]feature: necessary instructions' #Recommended -
推送到远程仓库
git push origin a-feature-branch -
然后您就可以在 GitHub 上发起新的 PR (Pull Request)。
请注意 PR 的标题需要符合我们的规范,并且在 PR 中写上必要的说明,来方便 Committer 和其他贡献者进行代码审查。