1#!/bin/bash 2set -e 3# Builds debian packages using docker wrapper 4 5function help() { 6 message=$1 7 echo "USAGE: build.sh DOCKER_REPO DOCKER_TAG OS_TAG [DISTRO]" 8 echo "hint: ${message}" 9} 10 11docker_repo=$1 12docker_tag=$2 13os_tag=$3 14distro=${4:-ubuntu} 15 16[ -z "${docker_repo}" ] && help "You must specify repo, eg: quay.io/iovisoc/bcc" && exit 1 17[ -z "${docker_tag}" ] && help "You must specify tag, eg: bionic-release-master, latest, SHA, git tag, etc " && exit 1 18[ -z "${os_tag}" ] && help "You must specify os tag, eg: 18.04, bionic, etc " && exit 1 19 20 21# The main docker image build, 22echo "Building ${distro} ${os_tag} release docker image for ${docker_repo}:${docker_tag}" 23docker build -t ${docker_repo}:${docker_tag} --build-arg OS_TAG=${os_tag} -f docker/Dockerfile.${distro} . 24 25echo "Copying build artifacts to $(pwd)/output" 26mkdir -p output 27docker run -v $(pwd)/output:/output ${docker_repo}:${docker_tag} /bin/bash -c "cp /root/bcc/* /output" 28