You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
5.1 KiB
108 lines
5.1 KiB
#!/bin/bash
|
|
yum -y localinstall /data/yumPackage/*
|
|
systemctl disable --now firewalld
|
|
setenforce 0
|
|
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
|
|
tar xvf /data/redis.tar -C /data/
|
|
systemctl restart docker ;systemctl enable docker
|
|
cat /data/mysql56-redis.tar |docker import - localredis:v3.0.6
|
|
set -x
|
|
HOSTPATH_R=/data/redis
|
|
docker run -itd --privileged -p 6379:6379 -p 1222:22 \
|
|
-v $HOSTPATH_R:/data/redis \
|
|
-v /data/redis.conf:/etc/redis/redis.conf \
|
|
--restart=always --name redis localredis:v3.0.6 /data/redis/start.sh
|
|
|
|
tar xvf /data/mysql.tar -C /data/
|
|
systemctl restart docker ;systemctl enable docker
|
|
cat /data/mysql56-redis.tar |docker import - localmysql:v5.6
|
|
HOSTPATH_mysql=/data/mysql
|
|
docker run -itd --privileged -p 3306:3306 -p 3333:22 \
|
|
-v $HOSTPATH_mysql:/var/lib/mysql \
|
|
--restart=always --name mysql localmysql:v5.6 /var/lib/mysql/start.sh
|
|
|
|
tar xvf /data/es.tar -C /data/
|
|
systemctl restart docker ;systemctl enable docker
|
|
docker load -i /data/esImage.tar
|
|
chmod -R 775 /data/es
|
|
HOSTPATH_es=/data/es
|
|
docker run -d -v $HOSTPATH_es/logs/:/usr/share/elasticsearch/logs/ \
|
|
-v $HOSTPATH_es/data/:/usr/share/elasticsearch/data/ \
|
|
-v $HOSTPATH_es/plugins/:/usr/share/elasticsearch/plugins/ \
|
|
--restart=always --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms2g -Xmx2g" elasticsearch:6.7.0
|
|
|
|
# bash /home/Edu_devops/src/mysqlInit.sh mysql:Eduinit
|
|
rm -rf /data/mysql/localweb/*
|
|
rm -rf /data/mysql/localbridge/*
|
|
mysqlIp=`hostname -I |awk '{print $1}'`
|
|
#msqlIp="127.0.0.1"
|
|
mysqlpass=pre123123
|
|
webdatabase=localweb
|
|
webdatabasesql="localweb.sql"
|
|
#sql="docker exec -it mysql01 mysql -uroot -p$mysqlpass -h$mysqlIp"
|
|
sql="mysql -uroot -p$mysqlpass -h$mysqlIp"
|
|
# mysqlip=`hostname -I |awk '{print $1}'`
|
|
$sql -e "CREATE DATABASE IF not EXISTS $webdatabase;"
|
|
$sql $webdatabase < /data/localweb.sql
|
|
# $sql -e "use $webdatabase;source /data/localweb.sql;"
|
|
#导入localbridge数据库
|
|
$sql -e "CREATE DATABASE IF not EXISTS localbridge;"
|
|
$sql localbridge < /data/localbridge.sql
|
|
# $sql -e "use localbridge;source /data/localbridge.sql;"
|
|
#导入web模板
|
|
$sql $webdatabase < /data/edu-settings-template.sql
|
|
# $sql -e "use $webdatabase;source /data/edu-settings-template.sql;"
|
|
#k8s Master ip
|
|
k8sMasterIP=`hostname -I |awk '{print $1}'`
|
|
# git ip
|
|
gitIp=`hostname -I |awk '{print $1}'`
|
|
$sql -e "use $webdatabase;update edu_settings set value= replace(value,'GITIP','$gitIp')"
|
|
$sql -e "use $webdatabase;update edu_settings set value= replace(value,'MASTERIP','$k8sMasterIP')"
|
|
### 判断是否启用了haproxy
|
|
grep haproxy01 /etc/hosts|grep -v "#" &>/dev/null
|
|
if [ $? -eq 0 ];then
|
|
echo "说明启用haproxy"
|
|
haproxyIp=`hostname -I |awk '{print $1}'`
|
|
$sql -e "use $webdatabase;update edu_settings set value= replace(value,'TOMIP','$haproxyIp')"
|
|
$sql -e "use $webdatabase;update edu_settings set value= replace(value,'WEBIP','$haproxyIp')"
|
|
$sql -e "use $webdatabase;INSERT INTO edu_settings(name, value, created_at, updated_at) VALUES('jupyter_service', 'http://$masterip:PORT', now(), now())"
|
|
else
|
|
echo "说明没有启用proxy"
|
|
webip=`hostname -I |awk '{print $1}'`
|
|
bridgeip=`hostname -I |awk '{print $1}'`
|
|
masterip=`hostname -I |awk '{print $1}'`
|
|
$sql -e "use $webdatabase;update edu_settings set value= replace(value,'WEBIP','$webip')"
|
|
$sql -e "use $webdatabase;update edu_settings set value= replace(value,'TOMIP','$bridgeip')"
|
|
$sql -e "use $webdatabase;INSERT INTO edu_settings(name, value, created_at, updated_at) VALUES('jupyter_service', 'http://$masterip:PORT', now(), now())"
|
|
fi
|
|
|
|
cat /data/web.tar |docker import - web:latest
|
|
chown -R git:git /data/repositories
|
|
IP=`hostname -I |awk '{print $1}'`
|
|
sed -i "s/{{Web-redis}}/$IP/g" ./production.rb
|
|
sed -i "s/{{redisPort}}/6379/g" ./production.rb
|
|
sed -i "s/{{Web-redis}}/$IP/g" ./redis.yml
|
|
sed -i "s/{{redisPort}}/6379/g" ./redis.yml
|
|
sed -i "s/{{mysqlip}}/$IP/g" ./database.yml
|
|
sed -i "s/{{mysqluser}}/root/g" ./database.yml
|
|
sed -i "s/{{mysqlpass}}/pre123123/g" ./database.yml
|
|
sed -i "s/{{es}}/$IP/g" ./elasticsearch.yml
|
|
cp -vf ./production.rb /data/webguazai/webconfig/environments/
|
|
cp -vf ./redis.yml /data/webguazai/webconfig/
|
|
cp -vf ./database.yml /data/webguazai/webconfig/
|
|
cp -vf ./elasticsearch.yml /data/webguazai/webconfig/
|
|
systemctl restart docker ;systemctl enable docker
|
|
# mkdir -p /data/guazai;mkdir -p /data/webguazai ;mkdir -p /data/workspace/
|
|
docker run -itd --privileged -p 90:8080 -p 1120:22 \
|
|
-v /data/webguazai/webfiles:/home/pdl/educoderplus/files \
|
|
-v /data/webguazai/webpublicfiles:/home/pdl/educoderplus/public/files \
|
|
-v /data/webguazai/webpublicavatars:/home/pdl/educoderplus/public/images/avatars \
|
|
-v /data/webguazai/webconfig:/home/pdl/educoderplus/config \
|
|
-v /data/workspace:/home/pdl/educoderplus/workspace \
|
|
-v /data/webguazai/log:/home/pdl/educoderplus/log \
|
|
-v /data/shixunfiles:/data/shixunfiles \
|
|
--restart=always --name web0 web /home/pdl/educoderplus/config/start.sh
|
|
docker cp /data/webguazai/webconfig/crontab web0:/etc/crontab
|
|
sleep 15;sshpass -ppre123123 ssh -o StrictHostKeyChecking=no -p1120 pdl@127.0.0.1 "cd /home/pdl/educoderplus;RAILS_ENV=production bundle exec rake searchkick:reindex CLASS=Subject;RAILS_ENV=production bundle exec rake searchkick:reindex CLASS=Shixun"
|
|
|