一键部署Fabric配置环境并测试first-network

二进制文件自己用vpn下载

#!/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)
	#vpn下载后分发到各个主机对应文件目录下。
}


#运行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 "|_____| |_| \_| |____/  "

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值