#!/bin/bash # Script to build crons module # flags to accept: # envarg: build for enterprise edition. # Default will be OSS build. # Usage: IMAGE_TAG=latest DOCKER_REPO=myDockerHubID bash build.sh git_sha1=${IMAGE_TAG:-$(git rev-parse HEAD)} envarg="default-foss" source ../scripts/lib/_docker.sh check_prereq() { which docker || { echo "Docker not installed, please install docker." exit=1 } [[ exit -eq 1 ]] && exit 1 } function build_crons() { destination="_crons_ee" cp -R ../api ../${destination} cd ../${destination} tag="" # Copy enterprise code cp -rf ../ee/api/* ./ envarg="default-ee" tag="ee-" mv Dockerfile_crons.dockerignore .dockerignore docker build -f ./Dockerfile_crons --platform=linux/${ARCH:-'amd64'} --build-arg envarg=$envarg -t ${DOCKER_REPO:-'local'}/crons:${git_sha1} . cd ../api rm -rf ../${destination} [[ $PUSH_IMAGE -eq 1 ]] && { docker push ${DOCKER_REPO:-'local'}/crons:${git_sha1} docker tag ${DOCKER_REPO:-'local'}/crons:${git_sha1} ${DOCKER_REPO:-'local'}/crons:${tag}latest docker push ${DOCKER_REPO:-'local'}/crons:${tag}latest } [[ $SIGN_IMAGE -eq 1 ]] && { cosign sign --key $SIGN_KEY ${DOCKER_REPO:-'local'}/crons:${git_sha1} } echo "completed crons build" } check_prereq [[ $1 == "ee" ]] && { build_crons $1 } || { echo -e "Crons is only for ee. Rerun the script using \n bash $0 ee" exit 100 }