贡献给Apache Zeppelin(代码)
注意: Apache Zeppelin 是一个 Apache2 许可证 软件。 任何对 Zeppelin 的贡献(源代码、文档、图像、网站)意味着您同意将所有贡献以 Apache2 许可证授权。
设置
以下是一些您将需要构建和测试Zeppelin的工具。
软件配置管理 ( SCM )
由于Zeppelin使用Git作为其SCM系统,您需要在开发机器上安装git客户端。
集成开发环境 ( IDE )
您可以自由使用任何您喜欢的IDE,或者您最喜爱的命令行编辑器。
构建工具
要构建代码,请安装
- Oracle Java 8
- Apache Maven
获取源代码
首先,你需要Zeppelin的源代码。Zeppelin的官方位置是https://gitbox.apache.org/repos/asf/zeppelin.git。
git 访问
使用 git 在您的开发机器上获取源代码。
git clone git://gitbox.apache.org/repos/asf/zeppelin.git zeppelin
您可能还想针对特定分支进行开发。例如,对于分支-0.5.6
git clone -b branch-0.5.6 git://gitbox.apache.org/repos/asf/zeppelin.git zeppelin
Apache Zeppelin 遵循 Fork & Pull 作为源代码控制工作流程。 如果你不仅想构建 Zeppelin 还想进行任何更改,那么你需要 fork Zeppelin github 镜像仓库 并提交 pull 请求。
在提交拉取请求之前,请查看贡献指南。
构建
./mvnw install
跳过测试
./mvnw install -DskipTests
使用特定的spark / hadoop版本构建
./mvnw install -Dspark.version=x.x.x -Dhadoop.version=x.x.x
为了进一步
在开发模式下运行Zeppelin服务器
选项 1 - 命令行
- 将
conf/zeppelin-site.xml.template复制到zeppelin-server/src/main/resources/zeppelin-site.xml,并根据需要更改此文件中的配置 - 运行以下命令
cd zeppelin-server
HADOOP_HOME=YOUR_HADOOP_HOME JAVA_HOME=YOUR_JAVA_HOME \
./mvnw exec:java -Dexec.mainClass="org.apache.zeppelin.server.ZeppelinServer" -Dexec.args=""
选项 2 - 守护进程脚本
注意: 确保你先运行
./mvnw clean install -DskipTests
在你的zeppelin根目录中,否则你的服务器构建将无法在本地仓库中找到所需的依赖项。
或使用守护进程脚本
bin/zeppelin-daemon start
服务器将在http://localhost:8080上运行。
选项 3 - IDE
- 将
conf/zeppelin-site.xml.template复制到zeppelin-server/src/main/resources/zeppelin-site.xml,并根据需要更改此文件中的配置 ZeppelinServer.java主类
生成Thrift代码
Zeppelin代码的某些部分是由Thrift生成的。对于大多数Zeppelin的更改,你不需要担心这一点。但如果你修改了任何Thrift IDL文件(例如zeppelin-interpreter/src/main/thrift/*.thrift),那么你还需要重新生成这些文件,并将它们的更新版本作为你的补丁的一部分提交。
要重新生成代码,请安装 thrift-0.9.2,然后运行以下命令以生成 thrift 代码。
cd <zeppelin_home>/zeppelin-interpreter/src/main/thrift
./genthrift.sh
运行Selenium测试
Zeppelin 有一套使用 Selenium 的集成测试。要运行这些测试,首先构建并运行 Zeppelin,并确保 Zeppelin 在端口 8080 上运行。然后你可以使用以下命令运行测试
TEST_SELENIUM=true ./mvnw test -Dtest=[TEST_NAME] -DfailIfNoTests=false \
-pl 'zeppelin-interpreter,zeppelin-zengine,zeppelin-server'
例如,要运行ParagraphActionIT,
TEST_SELENIUM=true ./mvnw test -Dtest=ParagraphActionsIT -DfailIfNoTests=false \
-pl 'zeppelin-interpreter,zeppelin-zengine,zeppelin-server'
你需要在开发环境中安装Firefox网页浏览器。
从哪里开始
你可以找到初学者和新手的问题
保持参与
贡献者应该加入Zeppelin邮件列表。
- dev@zeppelin.apache.org 是为那些想要为Zeppelin贡献代码的人准备的。订阅, 取消订阅, 存档
如果您有任何问题,请在JIRA中创建一个工单。