Files
bl/scripts/init.sh

83 lines
2.7 KiB
Go

#!/bin/bash
# This script is used to initialize the environment for the project
# Usage: ./init.sh
# Author: LiDong
# Date: 2022-11-08
# 出错退出
set -e
# 获取公网IP
IP=$(curl -s ifconfig.me)
# 使用ip-api.com获取IP地理位置信息
INFO=$(curl -s "http://ip-api.com/json/${IP}")
# 判断是否在中国
if echo "$INFO" | grep -q '"country":"China"'; then
echo "IP is in China"
# 如果 REMOTE_CONTAINERS true,则为容器开发环境,进行相关配置
if [ "$REMOTE_CONTAINERS" = "true" ]; then
# 容器开发环境,配置容器内部的环境变量
echo "Configuring environment variables for container development environment"
# 记录hostname到 data/hostname.txt 如果 data 目录不存在,则创建
if [ ! -d "data" ]; then
mkdir data
chmod 777 data
fi
echo "$(hostname)" >data/hostname.txt
# 配置goproxy
echo "Configuring goproxy"
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
# 配置npm mirror
echo "Configuring npm mirror"
npm config set registry https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com
# 安装pgit
echo "Installing pgit"
curl -o pgit https://gitee.com/gcslaoli/pgit/raw/main/shell/pgit && chmod +x pgit && sudo mv pgit /usr/local/bin
# 安装cool-tools
echo "Installing cool-tools ..."
go install blazing/cool-tools@latest
# 安装gf
echo "Installing gf use mirror ..."
pgit wget -O gf \
https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH) &&
chmod +x gf &&
./gf install -y &&
rm ./gf
fi
else
echo "IP is not in China"
# 如果 REMOTE_CONTAINERS true,则为容器开发环境,进行相关配置
if [ "$REMOTE_CONTAINERS" = "true" ]; then
# 容器开发环境,配置容器内部的环境变量
echo "Configuring environment variables for container development environment"
# 记录hostname到 data/hostname.txt 如果 data 目录不存在,则创建
if [ ! -d "data" ]; then
mkdir data
chmod 777 data
fi
echo "$(hostname)" >data/hostname.txt
# 安装cool-tools
echo "Installing cool-tools ..."
go install blazing/cool-tools@latest
# 安装gf
echo "Installing gf use mirror ..."
wget -O gf \
https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH) &&
chmod +x gf &&
./gf install -y &&
rm ./gf
fi
fi