fix and finally ran
This commit is contained in:
51
BUILD.sh
51
BUILD.sh
@@ -1,45 +1,48 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
hasunset=0
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo "This script must be run in root."
|
||||
exit 2
|
||||
fi
|
||||
|
||||
PATH="$PWD/scripts:$PATH"
|
||||
|
||||
if [[ "$CLOUD_CONFIG_REPO" -eq "" ]]; then
|
||||
echo "CLOUD_CONFIG_REPO is not set."
|
||||
CLOUD_CONFIG_REPO="https://git.sfclub.cc/cloud/bearnet"
|
||||
hasunset=1
|
||||
fi
|
||||
|
||||
if [[ "$CLOUD_CONFIG_REVISION" -eq "" ]]; then
|
||||
echo "CLOUD_CONFIG_REVISION is not set."
|
||||
CLOUD_CONFIG_REVISION="wish"
|
||||
hasunset=1
|
||||
fi
|
||||
|
||||
if [[ "$CLOUD_GATEWAY_ADDRESS" -eq "" ]]; then
|
||||
echo "CLOUD_GATEWAY_ADDRESS is not set."
|
||||
CLOUD_GATEWAY_ADDRESS="10.0.0.119"
|
||||
hasunset=1
|
||||
fi
|
||||
|
||||
TMP_DIR=$(mktemp -d)
|
||||
|
||||
if [[ "$hasunset" -ne 0 ]]; then
|
||||
echo ""
|
||||
echo "Default values will be used for unset environments:"
|
||||
echo ""
|
||||
grep -E "^ENV" ./Dockerfile
|
||||
set | grep -E "^CLOUD_"
|
||||
fi
|
||||
|
||||
cleanup_() {
|
||||
if [[ "$GPG_PRIVATE_KEY" -ne "" ]]; then
|
||||
rm ./bot-gpg-key.asc
|
||||
fi
|
||||
rm -rf $TMP_DIR
|
||||
}
|
||||
|
||||
trap cleanup_ INT TERM
|
||||
|
||||
if [[ "$GPG_PRIVATE_KEY" -ne "" ]]; then
|
||||
echo "$GPG_PRIVATE_KEY" > ./bot-gpg-key.asc
|
||||
elif [[ ! -f ./bot-gpg-key.asc ]]; then
|
||||
echo "GPG key not found. Terminating.."
|
||||
exit -1
|
||||
fi
|
||||
trap cleanup_ INT TERM EXIT
|
||||
|
||||
IMAGE_TAG=$(git rev-parse --short HEAD)
|
||||
IMAGE_NAME=${IMAGE_NAME:-bearcloud}
|
||||
@@ -49,5 +52,25 @@ echo "Additional arguments: $@"
|
||||
echo "Continue?"
|
||||
read
|
||||
|
||||
sudo docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:latest" $@ .
|
||||
rm -rf "$TMP_DIR"
|
||||
cp -r ./image $TMP_DIR
|
||||
sed -i "s#_REPO_#$CLOUD_CONFIG_REPO#g" $TMP_DIR/overlay/daemon/update-keys.sh && \
|
||||
sed -i "s#_REVISION_#$CLOUD_CONFIG_REVISION#g" $TMP_DIR/overlay/daemon/update-keys.sh && \
|
||||
sed -i "s#GATEWAY_ADDRESS#$CLOUD_GATEWAY_ADDRESS#g" $TMP_DIR/overlay/etc/dhcp/dhclient.conf
|
||||
|
||||
pushd $PWD >/dev/null
|
||||
|
||||
cd $TMP_DIR
|
||||
export IMAGE_ARTIFACT="$PWD/vm.raw"
|
||||
rm -f vm.raw && ./build-image.sh
|
||||
if [ ! -f $IMAGE_ARTIFACT ]; then
|
||||
exit 2
|
||||
fi
|
||||
|
||||
popd > /dev/null
|
||||
|
||||
mv $IMAGE_ARTIFACT ./data/
|
||||
IMAGE_ARTIFACT="$PWD/data/vm.raw"
|
||||
|
||||
docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:latest" $@ .
|
||||
|
||||
|
||||
Reference in New Issue
Block a user