feat: separate blockchain versioning (#3)

* fix: dirname query at bee docker build

* feat: remove blockchain image as well

* feat: add separate version handling for blockchain images

* feat: stop and remove blockchain node after image build
This commit is contained in:
nugaon 2021-04-29 17:08:46 +02:00 committed by GitHub
parent 0bce2ed485
commit 9d9afbfe25
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 9 deletions

View File

@ -1,3 +1,4 @@
BEE_VERSION="0.5.3"
BLOCKCHAIN_VERSION="1.0.0"
BEE_ENV_PREFIX="swarm-test"
BEE_IMAGE_PREFIX=ethersphere

View File

@ -13,7 +13,7 @@ do
sudo rm -rf "$BEE_DIR_PATH/statestore"
done
echo "Removing built Docker images..."
echo "Removing built Bee Docker images..."
BEE_ENV_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_ENV_PREFIX)
BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION)
@ -23,4 +23,11 @@ for DOCKER_IMAGE in $DOCKER_IMAGES
do
echo "$DOCKER_IMAGE"
docker image rm "$DOCKER_IMAGE"
done
done
echo "Removing built Blockchain Docker image..."
BLOCKCHAIN_DOCKER_IMAGE=$(docker image ls -qaf reference="$BEE_IMAGE_PREFIX/$BEE_ENV_PREFIX-blockchain:$BLOCKCHAIN_VERSION")
if [ -n "$BLOCKCHAIN_DOCKER_IMAGE" ] ; then
docker image rm "$BLOCKCHAIN_DOCKER_IMAGE"
fi

View File

@ -17,7 +17,7 @@ dockerbuild() {
MY_PATH=$(dirname "$0")
MY_PATH=$( cd "$MY_PATH" && pwd )
BEE_DIRS=$(ls "$MY_PATH/bee-data-dirs")
BEE_DIRS=$(ls -d "$MY_PATH"/bee-data-dirs/*/)
BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION)
BEE_IMAGE_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_IMAGE_PREFIX)
@ -33,7 +33,7 @@ echo "Build Dockerfiles"
for BEE_DIR in $BEE_DIRS
do
echo "$BEE_DIR"
dockerbuild "$MY_PATH/bee-data-dirs/$BEE_DIR" "$MY_PATH/bee-data-dirs/Dockerfile" "$BEE_VERSION" "$BEE_IMAGE_PREFIX"
dockerbuild "$BEE_DIR" "$MY_PATH/bee-data-dirs/Dockerfile" "$BEE_VERSION" "$BEE_IMAGE_PREFIX"
done
echo "Docker image builds were successful!"

View File

@ -4,9 +4,13 @@ MY_PATH=$( cd "$MY_PATH" && pwd )
# Check used system variable set
BEE_ENV_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_ENV_PREFIX)
BEE_IMAGE_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_IMAGE_PREFIX)
BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION)
BLOCKCHAIN_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BLOCKCHAIN_VERSION)
NAME="$BEE_ENV_PREFIX-blockchain"
echo "Make a snapshot from the blockchain..."
docker commit $NAME $BEE_IMAGE_PREFIX/$NAME:$BEE_VERSION
docker commit $NAME $BEE_IMAGE_PREFIX/$NAME:$BLOCKCHAIN_VERSION
echo "Stop and remove running blockchain node that the image built on..."
docker container stop $NAME
docker container rm $NAME

View File

@ -20,4 +20,4 @@ if [ -z "$CONTAINER_IN_DOCKER" ]; then
--db swarm-testchain --gasLimit 6721975
else
docker start $NAME
fi
fi

View File

@ -30,7 +30,7 @@ MY_PATH=$( cd "$MY_PATH" && pwd ) # absolutized and normalized
# Check used system variable set
BEE_ENV_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_ENV_PREFIX)
BEE_IMAGE_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_IMAGE_PREFIX)
BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION)
BLOCKCHAIN_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BLOCKCHAIN_VERSION)
# Init variables
EPHEMERAL=false
@ -88,7 +88,7 @@ if [ -z "$BLOCKCHAIN_CONTAINER" ] ; then
if $EPHEMERAL ; then
BLOCKCHAIN_ARGUMENTS="$BLOCKCHAIN_ARGUMENTS --rm"
fi
docker run $BLOCKCHAIN_ARGUMENTS $BEE_IMAGE_PREFIX/$SWARM_BLOCKCHAIN_NAME:$BEE_VERSION
docker run $BLOCKCHAIN_ARGUMENTS $BEE_IMAGE_PREFIX/$SWARM_BLOCKCHAIN_NAME:$BLOCKCHAIN_VERSION
else
docker start $BLOCKCHAIN_CONTAINER
fi