tools/stx-init-env

79 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# Starlingx Debian Build Enviroment Setup Script
# Normally this is called as 'source stx-init-env <sharedvolumedir>'
# Also we can execute the command 'source stx-init-env' as default
source import-stx
if [ $? -ne 0 ]; then
return 1
fi
MINIKUBE=minikube
HELM=helm
DOCKER=docker
if ! command -v $MINIKUBE &> /dev/null; then
echo "Command $MINIKUBE could not be found."
echo "Please install it as https://minikube.sigs.k8s.io/docs/start/"
echo ""
fi
if ! command -v $HELM &> /dev/null; then
echo "Command $HELM could not be found."
echo "Please install it as https://helm.sh/"
echo ""
fi
if ! command -v $DOCKER &> /dev/null; then
echo "Command $DOCKER could not be found. Please install it."
echo ""
fi
MINIKUBE_EXIST=$(docker ps | grep kicbase | grep $MINIKUBENAME)
if [ x"$MINIKUBE_EXIST" == x"" ]; then
echo "Start the new minikube $MINIKUBENAME"
else
echo "The minikube $MINIKUBENAME exists, we will try to stop it..."
echo "Then restart it..."
echo ""
$MINIKUBE stop -p $MINIKUBENAME >> /dev/null
ret=$(docker ps | grep kicbase | grep $MINIKUBENAME)
if [ x"$ret" != x"" ]; then
echo "minikube container $MINIKUBENAME exist!"
echo "And the command 'minikube -p $MINIKUBENAME stop' failed. The reason may be"
echo "the current MINIKUBE_HOME/HOME is not the same as the $MINIKUBENAME"
echo "Please change the MINIKUBE_HOME/HOME directory to the previous value"
echo "then re-execute this script"
unset MINIKUBE_HOME
return 1
fi
fi
if [ ! -d "$STX_BUILD_HOME" ]; then
echo "Warning: The directory $STX_BUILD_HOME doesn't exist, please create it with the command:"
echo ""
echo " mkdir -p $STX_BUILD_HOME"
echo ""
echo "Then execute this script again!"
return 1
fi
$MINIKUBE start --driver=docker -p $MINIKUBENAME --mount=true --mount-string="$STX_BUILD_HOME:/workspace"
if [ $? -ne 0 ]; then
return 1
fi
# Build the container images from the dockerfiles
DOCKERNAMES="stx-builder stx-pkgbuilder stx-lat-tool stx-aptly"
eval $(minikube -p $MINIKUBENAME docker-env)
for i in $DOCKERNAMES; do
docker build -t $i:v0.1.0 -f stx/dockerfiles/$i.Dockerfile .
if [ $? -ne 0 ]; then
return 1
fi
done
eval $(minikube -p $MINIKUBENAME docker-env -u)