Build Submarine From Source Code

Prerequisites

  • JDK 1.8
  • Maven 3.3 or later ( 3.6.2 is known to fail, see SUBMARINE-273 )
  • Docker

Quick Start

Build Your Custom Submarine Docker Images

Submarine provides default Docker image in the release artifacts, sometimes you would like to do some modifications on the images. You can rebuild Docker image after you make changes.

Note that you need to make sure the images built above can be accessed in k8s Usually this needs a rename and push to a proper Docker registry.

mvn clean package -DskipTests

Build submarine server image:

./dev-support/docker-images/submarine/build.sh

Build submarine database image:

./dev-support/docker-images/database/build.sh

Building source code / binary distribution

  • Checking releases for licenses
mvn clean org.apache.rat:apache-rat-plugin:check
  • Create binary distribution with default hadoop version
mvn clean install package -DskipTests
  • Create binary distribution with hadoop-2.9.x version
mvn clean install package -DskipTests -Phadoop-2.9
  • Create binary distribution with hadoop-2.10.x version
mvn clean install package -DskipTests -Phadoop-2.10
  • Create binary distribution with hadoop-3.1.x version
mvn clean install package -DskipTests -Phadoop-3.1
  • Create binary distribution with hadoop-3.2.x version
mvn clean install package -DskipTests -Phadoop-3.2
  • Create source code distribution
mvn clean install package -DskipTests -Psrc

TonY code modification

If it is needed to make modifications to TonY project, please make a PR to Tony repository.