Skip to content

Commit

Permalink
feat: shell script for install services.
Browse files Browse the repository at this point in the history
  • Loading branch information
tx7do committed Dec 17, 2024
1 parent 43990d2 commit 8cbc1c6
Show file tree
Hide file tree
Showing 5 changed files with 302 additions and 0 deletions.
65 changes: 65 additions & 0 deletions backend/script/build_install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/usr/bin/env bash

cd ..

# 编译服务
make build

project_name=kratos_cms
install_root=~/app/$project_name
project_root=$(cd $(dirname $0);pwd)
app_root=$project_root/app

function list_dir() {
# echo $1
for file in $1/*
do
if test -d $file
then
# echo $file
arr=(${arr[*]} $file)
fi
done
}

list_dir $app_root
#echo ${arr[@]}

# 创建安装文件夹
mkdir -p $install_root

for v in ${arr[@]}
do
app=${v##*$app_root/}
echo $app service installing...

app_install_root=$install_root/$app/
echo $app_install_root

# 创建二进制存放路径
mkdir -p $app_install_root/service/bin/
# 创建配置存放路径
mkdir -p $app_install_root/service/configs/

# 安装二进制程序
mv -f $app_root/$app/service/bin/server $app_install_root/service/bin/server
# 拷贝配置文件
cp -rf $app_root/$app/service/configs/*.yaml $app_install_root/service/configs/
done

# 加入PM2监控运行
for v in ${arr[@]}
do
app=${v##*$app_root/}
echo $app service starting...

app_install_root=$install_root/$app/
echo $app_install_root

# 加入PM2监控运行
cd $app_install_root/service/bin/
pm2 start --namespace $project_name --name $app server -- -conf ../configs/
done

pm2 save
pm2 restart $project_name
19 changes: 19 additions & 0 deletions backend/script/install_docker_dependences.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# 创建文件夹
mkdir -p /root/app/kafka
mkdir -p /root/app/postgresql
mkdir -p /root/app/redis
mkdir -p /root/app/consul
mkdir -p /root/app/doris

# 赋权
sudo chown -R 1001:1001 /root/app/kafka/
sudo chown -R 1001:1001 /root/app/postgresql/
sudo chown -R 1001:1001 /root/app/redis/
sudo chown -R 1001:1001 /root/app/consul/
sudo chown -R 1001:1001 /root/app/doris/

# Doris JVM
sudo sysctl -w vm.max_map_count=2000000

# 部署
docker-compose up -d -f ../.docker/compose/docker-compose.yaml
73 changes: 73 additions & 0 deletions backend/script/prepare_centos.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/usr/bin/env bash

####################################
## 更新软件源和软件
####################################

sudo yum update; sudo yum upgrade

####################################
## 安装工具软件
####################################

sudo yum install epel-release htop wget unzip -y

####################################
## 安装PM2
####################################

# 安装nodejs和npm
sudo yum install node npm -y

node -v
npm -v

# 安装pm2
npm install -g pm2
# 查看pm2的版本
pm2 --version
# tab补全
pm2 completion install
# 创建pm2开机启动脚本
pm2 startup
# 设置pm2的开机启动
sudo systemctl enable pm2-${USER}

####################################
## 安装Golang
####################################

latest_version=1.20.1

wget https://dl.google.com/go/go$latest_version.linux-amd64.tar.gz

rm -rf /usr/local/go && tar -C /usr/local -xzf go$latest_version.linux-amd64.tar.gz
rm -fr go$latest_version.linux-amd64.tar.gz

echo "export GOROOT=/usr/local/go" >> ~/.bashrc
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
echo "export GOPATH=~/go" >> ~/.bashrc
source ~/.bashrc

go version

####################################
## 安装Docker
####################################

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo yum install -y docker-compose

sudo systemctl start docker
73 changes: 73 additions & 0 deletions backend/script/prepare_rocky.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/usr/bin/env bash

####################################
## 更新软件源和软件
####################################

sudo dnf check-update
sudo dnf -y update

####################################
## 启用 CRB 存储库
####################################

sudo dnf config-manager --set-enabled crb

####################################
## 安装工具软件
####################################

sudo dnf -y install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

sudo dnf -y install epel-release htop wget unzip

####################################
## 安装PM2
####################################

# 安装nodejs和npm
sudo dnf -y install nodejs npm

node -v
npm -v

# 安装pm2
npm install -g pm2
# 查看pm2的版本
pm2 --version
# tab补全
pm2 completion install
# 创建pm2开机启动脚本
pm2 startup
# 设置pm2的开机启动
sudo systemctl enable pm2-${USER}

####################################
## 安装Golang
####################################

latest_version=1.22.3

wget https://dl.google.com/go/go$latest_version.linux-amd64.tar.gz

rm -rf /usr/local/go && tar -C /usr/local -xzf go$latest_version.linux-amd64.tar.gz
rm -fr go$latest_version.linux-amd64.tar.gz

echo "export GOROOT=/usr/local/go" >> ~/.bashrc
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
echo "export GOPATH=~/go" >> ~/.bashrc
source ~/.bashrc

go version

####################################
## 安装Docker
####################################

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl start docker
72 changes: 72 additions & 0 deletions backend/script/prepare_ubuntu.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#!/usr/bin/env bash

####################################
## 更新软件源和软件
####################################

sudo apt update && sudo apt upgrade

####################################
## 安装工具软件
####################################

sudo apt install htop wget unzip -y

####################################
## 安装PM2
####################################

# 安装nodejs和npm
sudo apt install nodejs npm -y

node -v
npm -v

# 安装pm2
npm install -g pm2
# 查看pm2的版本
pm2 --version
# tab补全
pm2 completion install
# 创建pm2开机启动脚本
pm2 startup
# 设置pm2的开机启动
sudo systemctl enable pm2-${USER}

####################################
## 安装Docker
####################################

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt install -y docker-compose

####################################
## 安装Golang
####################################

latest_version=1.20.1

wget https://dl.google.com/go/go$latest_version.linux-amd64.tar.gz

rm -rf /usr/local/go && tar -C /usr/local -xzf go$latest_version.linux-amd64.tar.gz
rm -fr go$latest_version.linux-amd64.tar.gz

echo "export GOROOT=/usr/local/go" >> ~/.bashrc
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
echo "export GOPATH=~/go" >> ~/.bashrc
source ~/.bashrc

go version

0 comments on commit 8cbc1c6

Please sign in to comment.