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" BEE_VERSION="0.5.3"
BLOCKCHAIN_VERSION="1.0.0"
BEE_ENV_PREFIX="swarm-test" BEE_ENV_PREFIX="swarm-test"
BEE_IMAGE_PREFIX=ethersphere BEE_IMAGE_PREFIX=ethersphere

View File

@ -13,7 +13,7 @@ do
sudo rm -rf "$BEE_DIR_PATH/statestore" sudo rm -rf "$BEE_DIR_PATH/statestore"
done 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_ENV_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_ENV_PREFIX)
BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION) BEE_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION)
@ -23,4 +23,11 @@ for DOCKER_IMAGE in $DOCKER_IMAGES
do do
echo "$DOCKER_IMAGE" echo "$DOCKER_IMAGE"
docker image rm "$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=$(dirname "$0")
MY_PATH=$( cd "$MY_PATH" && pwd ) 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_VERSION=$("$MY_PATH/utils/env-variable-value.sh" BEE_VERSION)
BEE_IMAGE_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_IMAGE_PREFIX) 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 for BEE_DIR in $BEE_DIRS
do do
echo "$BEE_DIR" 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 done
echo "Docker image builds were successful!" echo "Docker image builds were successful!"

View File

@ -4,9 +4,13 @@ MY_PATH=$( cd "$MY_PATH" && pwd )
# Check used system variable set # Check used system variable set
BEE_ENV_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_ENV_PREFIX) 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_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" NAME="$BEE_ENV_PREFIX-blockchain"
echo "Make a snapshot from the 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 --db swarm-testchain --gasLimit 6721975
else else
docker start $NAME 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 # Check used system variable set
BEE_ENV_PREFIX=$("$MY_PATH/utils/env-variable-value.sh" BEE_ENV_PREFIX) 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_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 # Init variables
EPHEMERAL=false EPHEMERAL=false
@ -88,7 +88,7 @@ if [ -z "$BLOCKCHAIN_CONTAINER" ] ; then
if $EPHEMERAL ; then if $EPHEMERAL ; then
BLOCKCHAIN_ARGUMENTS="$BLOCKCHAIN_ARGUMENTS --rm" BLOCKCHAIN_ARGUMENTS="$BLOCKCHAIN_ARGUMENTS --rm"
fi 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 else
docker start $BLOCKCHAIN_CONTAINER docker start $BLOCKCHAIN_CONTAINER
fi fi