1. 安装准备

1. JDK

安装jdk1.8.0,并配置好环境变量。

2. Gradle(选)

安装gradle-4.6,并配置好环境变量。(注意:,由于Azkaban-3.90.0源码中包含了gradle相关脚本命令了,不需要额外安装Gradle。如果gradle版本与azkaban源码内的gradle配置版本不一致,编译时可能会出错)

4.Git

安装Git-2.17.0-64-bit.exe,过程略。

2. 验证环境变量

  1. # Git Bash
  2. echo $GRADLE_HOME
  3. echo $GRADLE_USER_HOME
  4. # 如果环境变量失效可手动设置
  5. export GRADLE_HOME=E:\software\gradle-4.6
  6. export GRADLE_USER_HOME=G:\gradleRepository
  7. # Cmd/Cygwin
  8. echo %GRADLE_HOME%
  9. echo %GRADLE_USER_HOME%
  10. # 如果环境变量失效可手动设置
  11. set GRADLE_HOME=E:\software\gradle-4.6
  12. set GRADLE_USER_HOME=G:\gradleRepository

3. 上传Gradle安装介质

路径:G:\gradleRepository\wrapper\dists\gradle-4.6-all***\gradle-4.6-all.zip

4. 修改配置

修改“azkaban-solo-server”子工程打包命名规则(azkaban\azkaban-solo-server\build.gradle),生成“azkaban-solo-server.tar.gz”。

  1. distributions {
  2. main {
  3. baseName = "azkaban-solo-server"
  4. version = ""
  5. contents {
  6. // ....
  7. }
  8. }
  9. }

5. 构建

  1. # 进入Git Bash(推荐)
  2. ./gradlew distTar -x test
  3. # Cmd/Cygwin
  4. gradlew.bat distTar -x test

6. 编码问题(选)

Windows上编译的文件中的行结束符是DOS格式的,就是^M$,而Linux上行结束符是$,所以Windows编译的Azkaban模块部署之后,需要改一下bin目录下的脚本的行结束符,从^M$改成$,不然执行启动、停止脚本可能会报错。

参考

CSDN:Azkaban源码编译(windows环境下编译)
https://blog.csdn.net/dzh284616172/article/details/106953088
StackOverflow:gradle distZip rename archive
https://stackoverflow.com/questions/21999870/gradle-distzip-rename-archive