Files
blackcoin-more/contrib/docker/moreBuilder/build.sh
danielclough 0390f1b8e6 exit
2020-12-09 10:14:10 -08:00

91 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
BASE_DIR=$(dirname $(realpath $0 ))
moreBuilder=${BASE_DIR}/moreBuilder
SYSTYPE=`lscpu | head -1 | tr -s ' ' | cut -d ' ' -f2`
# DockerHub Account
defaultDockerHub=blackcoinnl
read -p "What is your DockerHub Account Name? (default $defaultDockerHub): " DockerHub
DockerHub=${DockerHub:-${defaultDockerHub}}
if [ $DockerHub != $defaultDockerHub ]; then
sed -i "s/defaultDockerHub=blackcoinnl/defaultDockerHub=$DockerHub/" $0
fi
# Git Account
defaultHubLab=github
read -p "Github or Gitlab? (default $defaultHubLab): " HubLab
HubLab=${HubLab:-${defaultHubLab}}
if [ $HubLab != $defaultHubLab ]; then
sed -i "s|defaultHubLab=github|defaultGit=$HubLab|" $0
sed -i "s|github|$HubLab|" ${BASE_DIR}/Dockerfile.ubase
fi
defaultGit=CoinBlack
read -p "What is your Git account? (default $defaultGit): " Git
Git=${Git:-${defaultGit}}
if [ $Git != $defaultGit ]; then
sed -i "s|defaultGit=CoinBlack|defaultGit=$Git|" $0
sed -i "s|CoinBlack|$Git|" ${BASE_DIR}/Dockerfile.ubase
fi
# Git Branch
read -p "What branch/version? (default $defaultBranch): " BRANCH
defaultBranch=master
BRANCH=${BRANCH:-${defaultBranch}}
if [ $BRANCH != $defaultBranch ]; then
sed -i "s|defaultBranch=master|defaultBranch=$BRANCH|" $0
sed -i "s|ENV BRANCH=v2.13.2.7|ENV BRANCH=$BRANCH|" ${BASE_DIR}/Dockerfile.ubase
fi
# change branch for multi-stage build
defaultUbase=blackcoinnl/blackmore-ubase-x86_64:master
ubase="${DockerHub}/blackmore-ubase-$SYSTYPE:$BRANCH"
if [ $defaultUbase != $ubase ]; then
sed -i "s|FROM $defaultUbase as build|FROM $ubase as build|" ${BASE_DIR}/Dockerfile.ubuntu
sed -i "s|defaultUbase=blackcoinnl/blackmore-ubase-x86_64:master|defaultUbase=$ubase|" $0
fi
# timezone
defaultTimezone=America/Los_Angeles
read -p "What is your timezone? (default $defaultTimezone): " timezone
timezone=${timezone:-${defaultTimezone}}
if [ $timezone != $defaultTimezone ]; then
sed -i "s|defaultTimezone=America/Los_Angeles|defaultTimezone=$timezone|" $0
sed -i "s|defaultTimezone=America/Los_Angeles|$timezone|" ${BASE_DIR}/Dockerfile.ubase
sed -i "s|defaultTimezone=America/Los_Angeles|$timezone|" ${BASE_DIR}/Dockerfile.ubuntu
fi
echo "DockerHub Account: ${DockerHub}"
echo "Git Account: $Git"
echo $BRANCH
echo $SYSTYPE
echo $timezone
minimal="${DockerHub}/blackcoin-more-minimal-$SYSTYPE:$BRANCH"
ubuntu="${DockerHub}/blackcoin-more-ubuntu-$SYSTYPE:$BRANCH"
ubase="${DockerHub}/blackmore-ubase-$SYSTYPE:$BRANCH"
# build
docker build -t $ubase - --network=host < ${BASE_DIR}/Dockerfile.ubase
docker run -itd --network=host --name ubase $ubase bash
docker cp ubase:/parts $moreBuilder
cd $moreBuilder
tar -C parts -c . | docker import - $minimal
docker container rm -f ubase
# push to docker hub
docker image push $minimal
docker image push $ubuntu