This is the documentation on installing the Bigtop compile Toolchain on current git trunk.

For documentation of the Bigtop-1.0 Version see How to build Bigtop-1.0

Clone Bigtop repo

You can do it either from

  • official Apache Bigtop repo

    Clone the repo
    git clone https://git-wip-us.apache.org/repos/asf/bigtop.git
    git checkout -b b_1_1 branch-1.1
  • or from Github mirror (see https://github.com/apache/bigtop)

 

Or download the source distribution:

http://www.apache.org/dyn/closer.lua/bigtop/bigtop-1.1.0/

 

Not Recommended: Setting up development environment from scratch:

Not recommended any more, suitable only if you plan to compile from a plain linux distribution

First, install a suitable puppet version (relative to bigtop root)

   # ./bigtop_toolchain/bin/puppetize.sh

next is installing the toolchain by a puppet call.

   # puppet apply --modulepath=`pwd`:/etc/puppet/modules -e "include bigtop_toolchain::installer"

Alternatively, if you already have sudo and a java runtime installed, you can bootstrap the environment using the provided Gradle wrapper script 

   % ./gradlew toolchain

Optional: Setting up bigtop/puppet docker images:

Only necessary if you want to rebuild the bigtop/puppet docker images, used as a base for bigtop/slaves. 

     # cd docker/bigtop-puppet/$BUILD_ENVIRONMENTS; ./build.sh

This is done by the CI Job:

https://ci.bigtop.apache.org/view/Docker/job/Docker-Puppet/

Optional: Setting up bigtop/slaves docker images:

Only necessary if you want to rebuild the bigtop/slaves docker images, used by the compile processes

     # ./gradlew -POS=$BUILD_ENVIRONMENTS -Pprefix=1.1.0 bigtop-slaves

This is done by the CI Job:

https://ci.bigtop.apache.org/view/Docker/job/Docker-Toolchain-1.1.0/

Recommended: Using pre-built Docker images 

For current trunk (git master) the tags for bigtop/slaves are available: 

  • 1.1.0-centos-6
  • 1.1.0-centos-7
  • 1.1.0-fedora-20 
  • 1.1.0-opensuse-13.2
  • 1.1.0-ubuntu-14.04 
  • 1.1.0-debian-8

are available. 

$ docker run -v `pwd`:/ws bigtop/slaves:1.1.0-ubuntu-14.04 bash -l -c 'cd /ws ; gradle bigtop-jsvc-pkg' 

 

The Job Bigtop-1.1.0 to create a repository is essentially:

#!/bin/bash -ex
 
# Workaround for wrong distributions (sic! ppc64el !) BIGTOP-2344
sed -i 's/Architectures: i386 amd64 source/Architectures: ppc64el source/' packages.gradle

docker run --rm -v `pwd`:/ws  bigtop/slaves:1.1.0-$BUILD_ENVIRONMENTS bash -c '
cd /ws ; . /etc/profile.d/bigtop.sh ;
A=rpm ; B=yum; 
type -p dpkg && A=deb ; 
type -p dpkg && B=apt ;
./gradlew allclean $A $B'

 

 





  • No labels