mocha-suv/docker-build

87 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# update .NET
REBUILD=false
vars=$(getopt -o r -l rebuild -- "$@")
if [ $? -ne 0 ]; then
echo "usage: docker-build [--rebuild]"
exit
fi
eval set -- $vars
for opt; do
case "$opt" in
-r|--rebuild)
REBUILD=true
shift
;;
esac
done
if [ "$REBUILD" == "true" ]; then
pushd ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server
dotnet build
Q=$?
popd
if [ $Q -ne 0 ]; then
echo "Build failed!"
exit $Q
fi
# build the libraries
pushd mocha-common/mocha-common
./build
Q=$?
popd
if [ $Q -ne 0 ]; then
echo "Build failed!"
exit $Q
fi
fi
if [ ! -d ./mocha-suv/docker/fs/usr/lib/mocha/oms ]; then
mkdir -p ./mocha-suv/docker/fs/usr/lib/mocha/oms
fi
cp -r ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server/bin/Debug/net8.0/* ./mocha-suv/docker/fs/usr/lib/mocha/oms
if [ ! -d ./mocha-suv/docker/fs/usr/share/mocha/system ]; then
mkdir -p ./mocha-suv/docker/fs/usr/share/mocha/system
fi
cp mocha-common/mocha-common/output/net.alcetech.Mocha.System.mcl ./mocha-suv/docker/fs/usr/share/mocha/system
cp mocha-common/mocha-common/output/net.alcetech.Mocha.Web.mcl ./mocha-suv/docker/fs/usr/share/mocha/system
# build the image (i.e. 'mocha suv init' )
docker build -t mocha-httpd -f mocha-suv/docker/Dockerfile .
if [ $? -ne 0 ]; then
echo "'docker build' failed; is it properly installed?"
exit 2
fi
NETWORK_NAME=mocha-docker
NETWORK_SUBNET=10.7
NETWORK_EXISTS=$(docker network ls | grep $NETWORK_NAME)
if [ "$NETWORK_EXISTS" == "" ]; then
docker network create --driver=bridge --subnet=$NETWORK_SUBNET.0.0/16 --ip-range=$NETWORK_SUBNET.0.0/24 --gateway=$NETWORK_SUBNET.0.1 $NETWORK_NAME
fi
# initiate a container (i.e. 'mocha suv up i-0...' )
# docker run --name $SUV_NAME -d -p 8000:80 --net mocha-docker mocha-httpd # -p 8000:80 mocha-httpd