openreplay/ee/api/build_crons.sh
2022-07-01 19:35:50 +02:00

59 lines
2.1 KiB
Bash

#!/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 <ee>
function make_submodule() {
# -- this part was generated by modules_lister.py --
mkdir crons
cp -R ./{app_crons,schemas,schemas_ee}.py ./crons/
mkdir -p ./crons/routers/crons/
cp -R ./routers/crons/{__init__,core_dynamic_crons}.py ./crons/routers/crons/
mkdir -p ./crons/chalicelib/
cp -R ./chalicelib/__init__.py ./crons/chalicelib/
mkdir -p ./crons/chalicelib/core/
cp -R ./chalicelib/core/{__init__,telemetry,license,unlock,weekly_report,jobs,sessions,events,issues,sessions_metas,metadata,projects,users,authorizers,tenants,roles,assist,events_ios,sessions_mobs,errors,metrics,sourcemaps,sourcemaps_parser,resources,performance_event}.py ./crons/chalicelib/core/
mkdir -p ./crons/chalicelib/utils/
cp -R ./chalicelib/utils/{__init__,TimeUTC,pg_client,helper,event_filter_definition,dev,email_helper,email_handler,smtp,s3,args_transformer,ch_client,SAML2_helper,metrics_helper}.py ./crons/chalicelib/utils/
# -- end of generated part
cp -R ./{Dockerfile.crons,requirements.txt,env.default,entrypoint_crons.sh} ./crons/
cp -R ./chalicelib/utils/html ./crons/chalicelib/utils/html
}
git_sha1=${IMAGE_TAG:-$(git rev-parse HEAD)}
envarg="default-foss"
check_prereq() {
which docker || {
echo "Docker not installed, please install docker."
exit=1
}
[[ exit -eq 1 ]] && exit 1
}
function build_api(){
tag=""
# Copy enterprise code
cp -rf ../ee/api/* ./
envarg="default-ee"
tag="ee-"
make_submodule $1
cd crons
docker build -f ./Dockerfile.crons --build-arg envarg=$envarg -t ${DOCKER_REPO:-'local'}/crons:${git_sha1} .
cd ..
rm -rf crons
[[ $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
}
echo "completed crons build"
}
check_prereq
build_api $1