1. 程式人生 > 其它 >一鍵部署Fabric配置環境並測試first-network

一鍵部署Fabric配置環境並測試first-network

技術標籤:Fabric多機靜態部署linuxdocker

二進位制檔案自己用v*n下載

#!/bin/bash

#versions fabric2.0.1 docker19.03.6 go1.15
#install corresponding depencies for fabric from scratch


# echo print with color
function echoColor()
{
	echo -e "\033[35;1m$1\033[0m"
}

function installssh()
{
        echoColor "installing ssh service"
sudo apt-get update sudo apt-get install openssh-server -y sudo service ssh start echoColor "finish installed ssh service" echo } # update os function updateOS() { echoColor "Updating system to newest version" sudo apt-get update -y --fix-missing echo
} #synchoronize time function syntime() { echoColor "synchorize time of different area" # 移除當前的時區資訊 sudo rm -rf /etc/localtime # 修改時區 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echoColor "finish synchorized time of different area" } # install some useful tools function
installtools() { echoColor "-----------------------------------------------------------------" echoColor "Start installing, please wait......." # 安裝git echoColor "Start Install git" apt-get install -y git # 安裝cURL echoColor "Start Install curl" apt-get install curl -y # 安裝jq echoColor "Start Install jq" apt-get install jq -y echoColor "Finish installed tools." echoColor "-----------------------------------------------------------------" } # 安裝 Golang function installGolang() { echo echoColor "-----------------------------------------------------------------" echoColor "Start install Golang,please wait......." # 下載Go echo wget https://studygolang.com/dl/golang/go1.15.5.linux-amd64.tar.gz #wget https://storage.googleapis.com/golang/go1.15.5.linux-amd64.tar.gz tar xfz go1.15.5.linux-amd64.tar.gz -C /usr/local # 設定環境變數 echoColor "Create Go Environment" echo echoColor "Set golang environment" echo -e "export GOPATH=/usr/local/gopath export GOROOT=/usr/local/go export PATH=\$GOROOT/bin:\$PATH">>/etc/profile source /etc/profile go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct source /etc/profile go version echo echoColor "Finish install Golang " echoColor "-----------------------------------------------------------------" } # 安裝 docker和docker compose function installDocker() { echo echoColor "-----------------------------------------------------------------" echoColor "Start install docker,please wait......." if [ ! -f "/usr/bin/docker" ];then echoColor "Install dependency items for https" sudo apt-get install apt-transport-https ca-certificates software-properties-common -y echoColor "Set stable repo for docker" curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" >> /etc/apt/sources.list sudo apt-get update echoColor "Install docker and start service" sudo apt-get install docker-ce=5:19.03.6~3-0~ubuntu-bionic docker-ce-cli=5:19.03.6~3-0~ubuntu-bionic containerd.io -y echoColor "Set accelerate registry-mirrors" sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://rl4uepop.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker fi docker -v echo if [ ! -f "/usr/local/bin/docker-compose" ];then echoColor "Install docker-compose" sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose fi docker-compose -v echoColor "Finish install docker and docker-compose!" echoColor "-----------------------------------------------------------------" echo } #下載bootstrap.sh 、映象檔案、fabric-samples function DownloadImages() { echoColor "start downloading bootstrap" mkdir -p /home/script cd /home/script curl -fsSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./bootstrap.sh chmod +x bootstrap.sh echoColor "start downloading bootstrap" echo bash bootstrap.sh 2.0.1 1.4.6 0.4.18 -b docker pull hyperledger/fabric-couchdb:0.4.18 docker tag d369d4eaa0fd hyperledger/fabric-couchdb:latest #下載二進位制工具(fabric2.0.1&fabric-ca 1.4.6) #v*n下載後分發到各個主機對應檔案目錄下。 } #執行first-network function runtest() { cd /home/script/fabric-samples/first-network chmod 777 ../first-network/*/* #script.sh ccp-generate.sh mkdir /home/bin chmod 777 /home/bin/* echo "export PATH=\$PATH:/home/bin/" >>/etc/profile echo "source /etc/profile" >>~/.bashrc source ~/.bashrc source /etc/profile bash byfn.sh up } echoColor " ____ _____ _ ____ _____ " echoColor "/ ___| |_ _| / \ | _ \ |_ _|" echoColor "\___ \ | | / _ \ | |_) | | | " echoColor " ___) | | | / ___ \ | _ < | | " echoColor "|____/ |_| /_/ \_\ |_| \_\ |_| " installssh updateOS syntime installtools installGolang installDocker DownloadImages runtest echoColor " _____ _ _ ____ " echoColor "| ____| | \ | | | _ \ " echoColor "| _| | \| | | | | | " echoColor "| |___ | |\ | | |_| | " echoColor "|_____| |_| \_| |____/ "