Prepare
Bigtop builds components in containers based on target ${OS}-${ARCH} docker images.
At present Bigtop supports those ${OS}-${ARCH} combinations offcially
centos-6 debian-8 debian-9 fedora-25-ppc64le ubuntu-14.04 ubuntu-16.04 ubuntu-16.04-ppc64le centos-7 debian-8-aarch64 fedora-25 opensuse-42.1 ubuntu-14.04-ppc64le ubuntu-16.04-aarch64
Before going to build stage, target OS/arch combination docker images, bigtop/puppet
and bigtop/slaves
should be created.
Build
Brief
Bigtop uses gradle to build and package components.
Build script for each components can be found at <BIGTOP_SRC_TOP>/bigtop-packages/src/common/<package>/do-component-build
.
Debian packaging configurations and scripts are located at <BIGTOP_SRC_TOP>/bigtop-packages/src/deb/<component>
.
RPM packaging configurations and scripts are located at <BIGTOP_SRC_TOP>/bigtop-packages/src/rpm/<component>
.
There are several taks for a certain component: clean, pkg, deb, rpm.
- clean: clean up build
- pkg: create tarball package
- deb: create deb package
- rpm: create rpm package
Here is example:
./gradlew hadoop-clean # clean existing hadoop build outputs ./gradlew hadoop-pkg # build and create hadoop release tarball ./gradlew hadoop-deb # build and create hadoop release deb package. Note: pkg will also be created ./gradlew hadoop-rpm # build and create hadoop release rpm package. Note: pkg will also be created
Following cmd can be used to get detail gradle tasks info:
./gradlew tasks