From 312004128a66bf1b2aa3d77f28a695df718555de Mon Sep 17 00:00:00 2001 From: Kirill Fedoseev Date: Thu, 24 Oct 2019 16:24:18 +0300 Subject: [PATCH] Updated scripts to store ganache data in docker volumes --- .circleci/config.yml | 4 ++++ demo/clean.sh | 6 ++---- demo/start-environment.sh | 23 +++++++---------------- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1c46009..249ba35 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,6 +17,7 @@ jobs: version: 18.09.3 docker_layer_caching: true - run: docker build -t tss ./src/tss + - run: mkdir ./workspace - run: docker save tss | gzip ./workspace/tss.tar.gz - persist_to_workspace: root: ./workspace @@ -38,6 +39,7 @@ jobs: - run: ./src/test-services/ethereumSend/run.sh 0xad6c8127143032d843a260c5d379d8d9b3d51f15 100 - run: docker kill ganache_side ganache_home - run: docker run --rm -v "ganache_side_data:/ganache_side_data" -v "ganache_home_data:/ganache_home_data" -d --name tmp alpine:3.9.4 + - run: mkdir ./workspace - run: docker cp "tmp:/ganache_side_data" "./workspace/ganache_side_data" - run: docker cp "tmp:/ganache_home_data" "./workspace/ganache_home_data" - run: docker kill tmp @@ -59,6 +61,8 @@ jobs: docker_layer_caching: true - run: docker load -i ./workspace/tss.tar.gz - run: docker images + - run: docker volume create ganache_side_data + - run: docker volume create ganache_home_data - run: docker run --rm -v "ganache_side_data:/ganache_side_data" -v "ganache_home_data:/ganache_home_data" -d --name tmp alpine:3.9.4 - run: docker cp "./workspace/ganache_side_data" "tmp:/ganache_side_data" - run: docker cp "./workspace/ganache_home_data" "tmp:/ganache_home_data" diff --git a/demo/clean.sh b/demo/clean.sh index b6c7c54..1044917 100755 --- a/demo/clean.sh +++ b/demo/clean.sh @@ -10,10 +10,8 @@ TARGET_NETWORK=${TARGET_NETWORK:=development} echo "Cleaning $TARGET_NETWORK network" if [[ "$TARGET_NETWORK" == "development" ]]; then - rm -rf ganache_side_db - rm -rf ganache_home_db - mkdir ganache_side_db - mkdir ganache_home_db + docker volume rm ganache_side_data > /dev/null 2>&1 || true + docker volume rm ganache_home_data > /dev/null 2>&1 || true fi for (( I = 1; I < 4; ++I )); do diff --git a/demo/start-environment.sh b/demo/start-environment.sh index 3747465..788c5a1 100755 --- a/demo/start-environment.sh +++ b/demo/start-environment.sh @@ -12,15 +12,13 @@ DEPLOY_DIR="`pwd`/src/deploy" TEST_SERVICES_DIR="`pwd`/src/test-services" DEMO_DIR="`pwd`/demo" -SIDE_GANACHE_DB="$DEMO_DIR/ganache_side_db" -HOME_GANACHE_DB="$DEMO_DIR/ganache_home_db" - start_dev_blockchain_networks() { echo "Starting side test blockchain" docker kill ganache_side > /dev/null 2>&1 || true docker network create blockchain_side > /dev/null 2>&1 || true - docker run -d --network blockchain_side --rm --name ganache_side -v "ganache_side_data:/app/db" -v "$SIDE_GANACHE_DB:/app/db" \ + docker volume create ganache_side_data > /dev/null 2>&1 || true + docker run -d --network blockchain_side --rm --name ganache_side -v "ganache_side_data:/app/db" \ -p "7545:8545" \ trufflesuite/ganache-cli:latest \ -m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 33 -q --db /app/db -b 3 --noVMErrorsOnRPCResponse @@ -29,7 +27,8 @@ start_dev_blockchain_networks() { docker kill ganache_home > /dev/null 2>&1 || true docker network create blockchain_home > /dev/null 2>&1 || true - docker run -d --network blockchain_home --rm --name ganache_home -v "ganache_home_data:/app/db" -v "$HOME_GANACHE_DB:/app/db" \ + docker volume create ganache_home_data > /dev/null 2>&1 || true + docker run -d --network blockchain_home --rm --name ganache_home -v "ganache_home_data:/app/db" \ -p "8545:8545" \ trufflesuite/ganache-cli:latest \ -m "shrug dwarf easily blade trigger lucky reopen cage lake scatter desk boat" -i 44 -q --db /app/db -b 3 --noVMErrorsOnRPCResponse @@ -135,20 +134,12 @@ deploy_all() { if [[ "$TARGET_NETWORK" == "development" ]]; then - if [[ ! -d "$SIDE_GANACHE_DB" ]]; then - mkdir "$SIDE_GANACHE_DB" - fi - if [[ ! -d "$HOME_GANACHE_DB" ]]; then - mkdir "$HOME_GANACHE_DB" - fi - - - if [[ -z "$(ls -A "$SIDE_GANACHE_DB")" ]] || [[ -z "$(ls -A "$HOME_GANACHE_DB")" ]]; then + if [[ "$(docker volume ls | grep ganache_side_db)" ]] || [[ "$(docker volume ls | grep ganache_home_db)" ]]; then + echo "Restarting dev blockchain networks" + else echo "Starting dev blockchain networks and deploying contracts" need_to_deploy=true - else - echo "Restarting dev blockchain networks" fi start_dev_blockchain_networks