mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 15:35:09 +00:00
Change-Id: If784ead9b35c89b874078fe3e87e702fd3be5953 Signed-off-by: David Enyeart <enyeart@us.ibm.com>
74 lines
1.9 KiB
Bash
Executable file
74 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Copyright IBM Corp. All Rights Reserved.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
#
|
|
# This script does everything required to run the fabric CA sample.
|
|
#
|
|
# By default, this test is run with the latest released docker images.
|
|
#
|
|
# To run against a specific fabric/fabric-ca version:
|
|
# export FABRIC_TAG=1.4.0-rc2
|
|
#
|
|
# To run with locally built images:
|
|
# export FABRIC_TAG=local
|
|
|
|
set -e
|
|
|
|
SDIR=$(dirname "$0")
|
|
source ${SDIR}/scripts/env.sh
|
|
|
|
cd ${SDIR}
|
|
|
|
# Delete docker containers
|
|
dockerContainers=$(docker ps -a | awk '$2~/hyperledger/ {print $1}')
|
|
if [ "$dockerContainers" != "" ]; then
|
|
log "Deleting existing docker containers ..."
|
|
docker rm -f $dockerContainers > /dev/null
|
|
fi
|
|
|
|
# Remove chaincode docker images
|
|
chaincodeImages=`docker images | grep "^dev-peer" | awk '{print $3}'`
|
|
if [ "$chaincodeImages" != "" ]; then
|
|
log "Removing chaincode docker images ..."
|
|
docker rmi -f $chaincodeImages > /dev/null
|
|
fi
|
|
|
|
# Start with a clean data directory
|
|
DDIR=${SDIR}/${DATA}
|
|
if [ -d ${DDIR} ]; then
|
|
log "Cleaning up the data directory from previous run at $DDIR"
|
|
rm -rf ${SDIR}/data
|
|
fi
|
|
mkdir -p ${DDIR}/logs
|
|
|
|
# Create the docker-compose file
|
|
${SDIR}/makeDocker.sh
|
|
|
|
# Create the docker containers
|
|
log "Creating docker containers ..."
|
|
docker-compose up -d
|
|
|
|
# Wait for the setup container to complete
|
|
dowait "the 'setup' container to finish registering identities, creating the genesis block and other artifacts" 90 $SDIR/$SETUP_LOGFILE $SDIR/$SETUP_SUCCESS_FILE
|
|
|
|
# Wait for the run container to start and then tails it's summary log
|
|
dowait "the docker 'run' container to start" 60 ${SDIR}/${SETUP_LOGFILE} ${SDIR}/${RUN_SUMFILE}
|
|
tail -f ${SDIR}/${RUN_SUMFILE}&
|
|
TAIL_PID=$!
|
|
|
|
# Wait for the run container to complete
|
|
while true; do
|
|
if [ -f ${SDIR}/${RUN_SUCCESS_FILE} ]; then
|
|
kill -9 $TAIL_PID
|
|
exit 0
|
|
elif [ -f ${SDIR}/${RUN_FAIL_FILE} ]; then
|
|
kill -9 $TAIL_PID
|
|
exit 1
|
|
else
|
|
sleep 1
|
|
fi
|
|
done
|